【发布时间】:2018-08-16 09:38:52
【问题描述】:
您可以在下面看到我拥有的更大表的示例
library(data.table)
input <- data.table(ID = c("A", "B"),
Para = c(2.8, 5),
Value1 = c(50, 80),
Value2 = c(80, 40),
Value3 = c(80, 100),
Value4 = c(60, 10),
Value5 = c(40, 80))
我想要实现的是添加一列,其中包含 Para 列中指定的下 x 列的累积总和。但如果逗号后面有数字,则列中的值应按数字调整。
所以对于第一行(Para = 2.8),结果应该是
1*50 + 1*80 + 0.8*80 = 194
第二行(Para = 5)的结果应该是
1*80 + 1*40 + 1*100 + 1*10 + 1*80 = 310
决赛桌应该是这样的
output <- cbind(input, Result = c(194, 310))
我的想法是将 Para 值 2.8 拆分为 5 个数字的百分比向量,因此是整个范围。
c(1, 1, .8, 0, 0)
将列 Value1:Value5 与该向量相乘,然后将所有 Value1:Value5 相加。但我不知道如何将 2.8 拆分为这样的向量,也许有更好的解决方案我不知道。谢谢。
【问题讨论】: