Articles of dplyr

filtro dplyr: obter linhas com o mínimo de variável, mas apenas o primeiro se vários mínimos

Eu quero fazer um filtro agrupado usando dplyr , de uma forma que dentro de cada grupo apenas essa linha é retornada que tem o valor mínimo da variável x . Meu problema é: Como esperado, no caso de vários mínimos, todas as linhas com o valor mínimo são retornadas. Mas no meu caso, eu […]

Freqüências / proporções relativas com dplyr

Suponha que eu queira calcular a proporção de diferentes valores dentro de cada grupo. Por exemplo, usando os dados mtcars , como calcular a frequência relativa do número de engrenagens por am (automático / manual) de uma só vez com dplyr ? library(dplyr) data(mtcars) mtcars % group_by(am, gear) %>% summarise(n = n()) # am gear […]

Linhas únicas, considerando duas colunas, em R, sem ordem

Ao contrário das perguntas que encontrei, quero obter o exclusivo de duas colunas sem ordem. Eu tenho um df: df df [,1] [,2] [1,] “a” “b” [2,] “b” “d” [3,] “c” “e” [4,] “b” “a” Nesse caso, linha 1 e linha 4 são “duplicatas” no sentido de que ba é o mesmo que ba. Eu […]

R espalhando várias colunas com o tidyr

Pegue esta variável de amostra df <- data.frame(month=rep(1:3,2), student=rep(c("Amy", "Bob"), each=3), A=c(9, 7, 6, 8, 6, 9), B=c(6, 7, 8, 5, 6, 7)) Eu posso usar o spread do tidyr para alterar isso para o formato wide. > df[, -4] %>% spread(student, A) month Amy Bob 1 1 9 8 2 2 7 6 3 […]

pacote dplyr pode ser usado para mutação condicional?

O mutate pode ser usado quando a mutação é condicional (dependendo dos valores de certos valores de coluna)? Este exemplo ajuda a mostrar o que quero dizer. structure(list(a = c(1, 3, 4, 6, 3, 2, 5, 1), b = c(1, 3, 4, 2, 6, 7, 2, 6), c = c(6, 3, 6, 5, 3, 6, […]

Agrupar por várias colunas em dplyr, usando input de vetor de cadeia

Estou tentando transferir minha compreensão do plyr para dplyr, mas não consigo descobrir como agrupar por várias colunas. # make data with weird column names that can’t be hard coded data = data.frame( asihckhdoydkhxiydfgfTgdsx = sample(LETTERS[1:3], 100, replace=TRUE), a30mvxigxkghc5cdsvxvyv0ja = sample(LETTERS[1:3], 100, replace=TRUE), value = rnorm(100) ) # get the columns we want to average […]

Obtendo os principais valores por grupo

Aqui está um quadro de dados de amostra: d <- data.frame( x = runif(90), grp = gl(3, 30) ) Eu quero o subconjunto de d contendo as linhas com os 5 principais valores de x para cada valor de grp . Usando base-R, minha abordagem seria algo como: ordered <- d[order(d$x, decreasing = TRUE), ] […]

Substituir os valores omissos (NA) pelo mais recente não-NA por grupo

Eu gostaria de resolver o seguinte problema com dplyr. Preferível com uma das funções da janela. Eu tenho um quadro de dados com casas e preços de compra. O seguinte é um exemplo: houseID year price 1 1995 NA 1 1996 100 1 1997 NA 1 1998 120 1 1999 NA 2 1995 NA 2 […]

Por que resume ou muta não funciona com group_by quando eu carrego `plyr` depois de` dplyr`?

Nota: O título desta questão foi editado para torná-la a questão canônica para problemas quando plyr funções plyr mascaram suas contrapartes dplyr . O resto da questão permanece inalterado. Suponha que eu tenha os seguintes dados: dfx <- data.frame( group = c(rep('A', 8), rep('B', 15), rep('C', 6)), sex = sample(c("M", "F"), size = 29, replace […]

Combine várias colunas em dados arrumados

Desculpe, tenho certeza que há uma maneira de fazer isso. No entanto, estou tendo problemas para interpretar as soluções para ajustar meu problema. Meu dataset é assim: unique.id abx.1 start.1 stop.1 abx.2 start.2 stop.2 abx.3 start.3 stop.3 abx.4 start.4 1 1 Moxi 2014-01-01 2014-01-07 PenG 2014-01-01 2014-01-07 Vanco 2014-01-01 2014-01-07 Moxi 2014-01-01 2 2 Moxi […]