2017-09-13 130 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")) 
相关问题