我想使用dplyr
来计算均值,中位数和其他一些内容。因为我刚刚看了一些介绍(大多比较旧的),我想知道以下是可能的:在列和rbind上执行多个操作
iris %>% group_by_("Species") %>%
summarise_at(.vars = vars(starts_with("Sepal")), .funs=perform_some_operation)
# A tibble: 6 x 4
Species Sepal.Length Sepal.Width Operation
<fctr> <dbl> <dbl> <fctr>
1 setosa 5.006 3.428 mean
2 versicolor 5.936 2.770 mean
3 virginica 6.588 2.974 mean
4 setosa 5.0 3.4 median
5 versicolor 5.9 2.8 median
6 virginica 6.5 3.0 median
的Operation
-column只是增加了清晰度。我不是绝对需要它。
我能找到的唯一的东西是summarise_at(.vars = vars(starts_with("Sepal")), .funs = c(Mean="mean", Median="median"))
。然而,这首先是缓慢的,其次是在列中创建额外的输出 - 而不是行。
编辑:我不需要产生结果的操作,在summarise_at
之内。
你想要的这里,我会假设你说的是什么,你想要什么还不清楚。操作栏的要点是什么?除了按物种分组以外,您是否只希望将平均值或中位数应用于每列的某个部分?或者,您是否只想将平均值应用到Sepal.Length和中值到Sepal.width? – user2738526
正如我在代码下面写的。操作专栏是为了澄清前三行是物种的手段。我希望将均值和中位数应用于所有使用“Sepal”的列。 – 5th