对分组数据

时间:2016-06-18 14:30:43

标签: r dplyr

我正在尝试使用summerise_each对分组数据集进行夏季化。不知何故,在汇总之前不可能删除分组变量(我用dplyr::select尝试了它)。问题是分组变量不是数字,我想要总和所有列。

library(dplyr)   
group  <- sample(c("a","b","c"), 100, replace = TRUE,)
values <- matrix(rnorm(1000), ncol = 10)
data   <- data.frame(group, values)

data %>% group_by(group) %>% summarise_each(sum)
  

UseMethod中的错误(&#34; as.lazy_dots&#34;):没有适用的方法   &#39; as.lazy_dots&#39;应用于类&#34;函数&#34;

的对象

我希望此输出适用于所有列。

data %>% group_by(group) %>% summarise(sum(X1))´

 group  sum(X1)
  (fctr)    (dbl)
1      a 2.648381
2      b 5.532697
3      c 1.382693

我不想使用summarise(sum(X2), sum(X2), ...)

2 个答案:

答案 0 :(得分:2)

我们需要使用funs

中的函数
data %>% 
    group_by(group) %>% 
    summarise_each(funs(sum))   

#   group         X1        X2          X3        X4         X5        X6        X7          X8        X9       X10
#  <fctr>      <dbl>     <dbl>       <dbl>     <dbl>      <dbl>     <dbl>     <dbl>       <dbl>     <dbl>     <dbl>
#1      a  -1.700664  3.570311 -0.23851052 7.5914770  0.3646715 -4.547660  8.944908   0.3996188 4.4322264  3.778364
#2      b -12.535340  2.705520 -0.03063312 3.1732708 -5.8638185 -8.070278 -3.548260  -1.7781691 0.7202883 -2.634258
#3      c   9.925093 -7.477544 -0.27394536 0.8187566 -7.7432485 -6.190602 -3.785092 -10.1892073 7.9212578 -2.766949

答案 1 :(得分:0)

要构建用户函数以完成此任务,请尝试:

fast-json-patch