假设我有一个data.frame
A B C x q 4 x p 2 y q 0 y p 8
我想用 B==q 选择所有行并计算 C 的相应平均值,并将其作为附加行添加,假设为 A==z , B==o ,并且 C 为刚刚计算的平均值 .
B==q
C
A==z
B==o
这基本上是dplyr对列的作用,但应用于行 . 我的问题是:有没有办法在行上应用dplyr操作而不是列?当然更好的是用于行操作的类似dplyr的包 .
(我的实际data.frame包含更多行和列的过程)
最好的祝福
使用dplyr执行此操作的方法如下:
df <- read.table(header = TRUE, text = "A B C x q 4 x p 2 y q 0 y p 8") library(dplyr) df %>% bind_rows(df %>% filter(B=="q") %>% summarize(C = mean(C)) %>% mutate(A = "z", B = "o") )
我会说使用group_by并在dplyr中汇总函数
df %>% group_by (B) %>% group_by(A) %>% summaries(mean(C))
2 回答
使用dplyr执行此操作的方法如下:
我会说使用group_by并在dplyr中汇总函数