【发布时间】:2020-05-07 18:13:57
【问题描述】:
昨天我问如何根据不同data.frame 中的条件对列求和。这在小子集中取得了成功。但是,使用完整数据需要几个小时。所以我想为什么不强制加入 plyr rbind.fill 函数,然后进行条件总和。然后我意识到我不知道怎么做,所以我希望你能帮助我。这是头。
a b c d
1 1010001 4507888.889 NA NA
2 1010011 843166.708 NA NA
3 1010021 612500.000 NA NA
4 1010031 740000.000 NA NA
5 1010041 4166.667 NA NA
6 1010051 3366666.667 NA NA
这是尾巴。
a b c d
689085 NA NA 70.62 181.1278
689086 NA NA 106.30 2383.3616
689087 NA NA 768.80 248804.5507
689088 NA NA 512.30 189899.9227
689089 NA NA 144.70 176382.4634
689090 NA NA 340.90 264691.8022
我试图做的是获取b 的每个值并将其与d 的所有值进行比较,然后将满足b(just one value)>=f(all values) 条件的c 中的所有值相加。我已经尝试过了。
df<-df%>%mutate(sumc=sum(df$g[b>=df$f]))
这将我带到了一个充满 0 的专栏 sumc。用头部和尾部显示我期望的输出应该是这样的。
a b c d e
1 1010001 4507888.889 NA NA 1943.72
2 1010011 843166.708 NA NA 1943.72
3 1010021 612500.000 NA NA 1943.72
4 1010031 740000.000 NA NA 1943.72
5 1010041 4166.667 NA NA 177.92
6 1010051 3366666.667 NA NA 1943.72
689085 NA NA 70.62 181.1278 NA
689086 NA NA 106.30 2383.3616 NA
689087 NA NA 768.80 248804.5507 NA
689088 NA NA 512.30 189899.9227 NA
689089 NA NA 144.70 176382.4634 NA
689090 NA NA 340.90 264691.8022 NA
另外,我尝试使用 group_by(a) 来获取 sumc 正在取值的值,但它不起作用。
感谢所有阅读本文的人! :)
【问题讨论】:
标签: r dplyr data.table plyr