2017-09-13 20 views
-1

私はdata.frameをRに入れました。平均と標準偏差を計算したいと思います。 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

それは同じことをすることは可能ですデータフレーム内の列名 – Prradep

+0

@Prradep IDは一意ではありません – CiaranWelsh

答えて

2

あなたは、列名に基づいて異なるグループにデータフレームを分割した後、必要な操作を行うことsplit.defaultを使用することができます。 、同じ名前を持つ の列の平均値、標準偏差についてはuse this

を計算するには、各サブグループにapplyを使用することができます

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")) 
関連する問題