如何使用dplyr拆分数据帧并在行间平均?

时间:2015-11-06 02:12:34

标签: r dplyr

我试图将下一行(r1)拆分为3个长的段,然后是平均行1和行2.我正在尝试使用dplyr包,因为我正在尝试学习它。有人能指出我正确的方向吗?

r1<-rbind(c(1,2,3,4,5,6,7,8,9),c(11,21,31,41,51,61,71,81,91))
colnames(r1)<-c("a","b","c","d","e","f","g","h","i")
library(dplyr)
test<-r1 %>% group_by("a","b","c")

目标:

avg(1+11),avg(2+21),avg(3+31)
avg(4+41),avg(5+51),avg(6+61)
avg(7+71),avg(8+81),avg(9+91)

1 个答案:

答案 0 :(得分:1)

dplyr 包主要用于数据帧的分组操作。你有一个矩阵,它不是一个真正的分组操作。您只想重新排列列方式。为此我们可以做到以下几点。

matrix(colMeans(r1), 3, byrow = TRUE)
#      [,1] [,2] [,3]
# [1,]  6.0 11.5 17.0
# [2,] 22.5 28.0 33.5
# [3,] 39.0 44.5 50.0