【发布时间】:2020-10-30 00:03:15
【问题描述】:
我正在尝试使用 r 中的 data.table 对一系列的片段求和。这个想法是我将开始索引和结束索引定义为表中的列,然后为“开始和结束索引之间的系列之和”创建第三列。
series = c(1,2,3,4,5,6)
a = data.table(start=c(1,2,3),end=c(4,5,6))
a[,S := sum(series[start:end])]
a
预期结果:
start end S
1: 1 4 10
2: 2 5 14
3: 3 6 18
实际结果:
Warning messages:
1: In start:end : numerical expression has 3 elements: only the first used
2: In start:end : numerical expression has 3 elements: only the first used
> a
start end S
1: 1 4 10
2: 2 5 10
3: 3 6 10
我在这里缺少什么?如果我只是执行 a[,S := start+end] 代码会按预期执行。
【问题讨论】:
标签: r data.table