2015-11-06 35 views
1

我試圖將以下行(r1)分割爲3段長的段,然後將行1和行2平均分配。我嘗試使用dplyr包,僅僅是因爲我正在嘗試學習它。有人能指引我朝着正確的方向嗎?如何使用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) 
+0

是的,這正是我所期待的,謝謝! – Rilcon42

回答

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