首先,我为笨拙的格式道歉......我不会编程,只是想学习 r 并运行一些分析......
我正在运行 dcast 以将数据集从长到宽重塑。此代码以前使用没有问题,但现在大约 6 个月后它将无法正常工作。
数据集结构示例
- id m v1 v2 v3
- A 1 f 1 p
- A 2 e 2 o
- A 3 k 3 j
- A 4 l 1 o
- B 1 k 2 p
- B 2 d 3 o
- B 3 a 1 j
- B 4 l 6 o
...
有 4218 个唯一 ID,每个 ID 出现一个 m。我已经验证了 m 的计数与唯一的 id 匹配,并且在 id*m 的向量中没有重复。
我正在尝试获取广泛的数据集:
id m m1v1 m1v2 m1v3 m2v1 m2v2 m2v3
我的代码如下:
y <- dcast(setDT(mydata), 'id' ~ 'm', value.var = c('v1', 'v2', 'v3')
这在大约 6 个月前运行没有错误,但是重新加载具有相同结构但变量名称不同的新数据导致了错误:
“缺少聚合函数,默认为‘长度’”
没有重复项(验证了所有关于 id 和 m 的唯一行),所以我无法弄清楚为什么会发生这种情况。关于此问题的所有其他答案都是由于重复值。