2017-09-13 129 views
-1

我在R A data.frame,我想以計算平均值和標準偏差。 data.frame看起來像這樣:計算平均值和r data.frames的標準偏差

a b c a b c a b c 
id1 1 2 3 4 5 6 7 8 9 
id2 9 8 7 6 5 4 3 2 1 

我該如何平均/ sd列?

即對於平均:

a b c 
id1 4 5 6  #average of a's b's and c's for ID1 
id2 . . . 
+0

是否有可能有相同的使用apply計算平均在數據幀的列名? – Prradep

+0

@Prradep沒有的ID都是唯一的 – CiaranWelsh

回答

2

您可以使用split.default到數據幀劃分爲總部設在列名不同的組,然後進行必要的操作。要爲 列具有相同的名稱,use this

對於標準的偏差,你可以在每個子組

sapply(split.default(df, names(df)), function(a) apply(a, 1, sd)) 
# a b c 
#id1 3 3 3 
#id2 3 3 3 

DATA

df = structure(list(a = c(1L, 9L), b = c(2L, 8L), c = c(3L, 7L), a = c(4L, 
6L), b = c(5L, 5L), c = c(6L, 4L), a = c(7L, 3L), b = c(8L, 2L 
), c = c(9L, 1L)), .Names = c("a", "b", "c", "a", "b", "c", "a", 
"b", "c"), class = "data.frame", row.names = c("id1", "id2")) 
相關問題