【发布时间】:2016-04-02 19:40:26
【问题描述】:
这是我第一次提出关于堆栈溢出的问题。我已经尝试寻找答案,但我找不到我正在寻找的确切内容。我希望有人可以提供帮助。
我有一个庞大的 20416 观察数据集。基本上,我有 83 个科目,对于每个科目,我都有几个观察结果。但是,每个受试者的观察次数并不相同(例如受试者 1 有 256 个观察,而受试者 2 只有 64 个观察)。 我想添加一个额外的列,其中包含每个主题的观察平均值(观察结果是阅读时间 (RT))。
我尝试了聚合函数:
aggregate (RT ~ su, data, mean)
此公式返回每个受试者的正确平均值。但是我不能简单地执行以下操作:
data$mean <- aggregate (RT ~ su, data, mean)
因为 R 返回此错误:
$tmp, "mean", value = list(su = 1:83, RT) 中的错误 = c(378.1328125, : 替换有83行,数据有20416
我知道该公式缺少一个命令,该命令指定每个主题的平均值必须针对所有主题的行重复(例如,如果主题 1 有 256 行,则主题 1 的平均值必须重复 256 行,如果主题 2 有 64 行,主题 2 的平均值必须重复 64 行,依此类推)。
如何在 R 中实现这一点?
【问题讨论】:
-
当你说为每个主题添加一个额外的 row 包含的意思时,你的意思是一个额外的 column?
-
对,我的意思是多出一列,抱歉。