【发布时间】:2020-07-25 00:24:15
【问题描述】:
我的数据大致如下:
ID Months Value
1 1 500
1 2 300
1 3 250
1 4 100
2 1 500
2 2 500
2 3 300
3 1 400
我正在尝试将其重新格式化为显示为的短数据格式
ID/Month 1 2 3 4
1 500 300 250 100
2 500 500 300
3 400
我目前正在使用以下内容:
dcast(data, ID ~ Month, fun.aggregate=sum, value.var="Value")
问题是这错误地对最后一个可用数据点进行了加倍,我的输出如下所示:
ID/Month 1 2 3 4
1 500 300 250 200
2 500 500 600
3 800
我不确定如何最好地解决或解决此问题。不幸的是,我无法共享任何数据,但是有没有办法绕过“fun.aggregate”组件并让它只列出“值”字段中的数值?我怀疑这是最后一个数据点中双重求和的原因。
不胜感激!
【问题讨论】:
-
无法使用提供的示例数据重现此情况。
-
@27ϕ9 不幸的是,我根本无法分享实际数据,但这些示例大致只是为了说明问题。我正在下载一个 csv 文件并将其作为数据帧读入。
-
您需要准备代表您的实际数据的数据。对于共享的数据,我根本不明白您为什么需要
fun.aggregate=sum,因为每个值都已被唯一标识。因此,如果您将其从dcast中删除,它仍然会提供相同的输出。