Kullanıcının, işlev çağrısında bir veya daha fazla gruplama değişkenini tanımlaması istenen bir işlev yazıyorum. Veriler daha sonra dplyr kullanılarak gruplandırılır ve sadece bir gruplama değişkeni varsa beklendiği gibi çalışır, ancak birden fazla gruplama değişkeniyle nasıl yapılacağını anlamadım.dplyr :: group_by_, çeşitli değişken adlarının karakter dizisi girdisi ile
Örnek:
x <- c("cyl")
y <- c("cyl", "gear")
dots <- list(~cyl, ~gear)
library(dplyr)
library(lazyeval)
mtcars %>% group_by_(x) # groups by cyl
mtcars %>% group_by_(y) # groups only by cyl (not gear)
mtcars %>% group_by_(.dots = dots) # groups by cyl and gear, this is what I want.
kullanıyorum dots
aynı içine y
döndürmeye çalışmışlardır:
y
gibi bir kullanıcı tanımlı giriş dizesi nasıl kullanılır
mtcars %>% group_by_(.dots = interp(~var, var = list(y)))
#Error: is.call(expr) || is.name(expr) || is.atomic(expr) is not TRUE
örnek) verileri dplyr kullanarak gruplamak için?
(Bu soru nasılsa this one ilgili değil, orada cevap verdi.)
Bu yüzden 'data.table' :)' as.data.table (mtcars) [, sum (carb), y] 'j/k 'yi kullanmaya başlamalısınız. İyi soru olsa da. –
Bir gün belki yapabilirim :) Ama şimdilik dplyr ile yapışacağım .. –