【发布时间】:2016-10-09 12:22:48
【问题描述】:
我有一个看起来有点像这样的数据集-
Col1 Col2 Col3 Col4 Col5
400 322 345 1 1
131 345 809 1 1
565 676 311 2 1
121 645 777 2 1
322 534 263 3 1
545 222 111 3 1
我想执行分组计算,其中对于 Col5 中的每个唯一值,我计算 Col1:Col3 按 Col4 分组的统计数据-
(X(i,j)-X'(i,j))/S(i)
其中 X(i,j) 表示组 i,j (Col5,Col4) 的变量的平均值,X' 表示同一变量的其他组 j 的平均值,S 是标准差整个组 i。例如,在上述情况下,Col1 基于 Col4 中的第 1 组的统计量将是-
(mean(400,131)-mean(565,121,322,545))/stddev(Col1)
(265.5-388.25)/193.85 = -0.633
我想使用 ddply 的 summarise 函数来计算每个变量以及 Col4 和 Col5 中的每个组的值。
PS- 我希望我能够清楚地解释这个问题。
谢谢!
【问题讨论】:
-
@akrun 我举了一个计算的例子,对于 Col4 的所有组和变量 Col1:Col3,输出必须是相同的计算。我无法计算输出,我向您展示的唯一方法是手动计算。
-
我得到
(mean(c(400, 131))-mean(c(565,121,322,545)))/sd(df1$Col1) #[1] -0.6332145sd的Col1是sd(df1$Col1) #[1] 193.8522 -
@akrun 哦,我是 stack-exchange 的新手,我不知道接受答案部分。谢谢你让我知道,我提出的大部分问题都已得到解答。我会确保从现在开始这样做