在R
中添加整数而不是列表元素我正在
> total = 0
> for (qty in a[5]){
+ total = total + as.numeric(unlist(qty))
+ print(total)
+ }
[1] 400 400 400 400 400 400 400 400 400 400
我真正想要的是:
> total = 0
> for (qty in a[5]){
+ total = total + as.numeric(unlist(qty))
+ print(total)
+ }
[1] 400 800 1200 1600 2000 2400 2800 3200 3600 4000
精炼:对更具体的场景更多一点,
price buy_sell qty
100 B 100
100 B 200
90 S 300
100 S 400
我想制作第四栏
price buy_sell qty net
100 B 100 10000
100 B 200 30000
90 S 300 3000
100 S 400 -37000
答案 0 :(得分:2)
请注意,如果a
是列表,则您需要使用双括号。否则,您将返回一个大小为1的列表,其中第一个元素具有您要查找的值
尝试:
total <- cumsum(a[[5]])
<小时/>
a <- list()
a[[5]] <- rep(400, 10)
cumsum(a[[5]])
# [1] 400 800 1200 1600 2000 2400 2800 3200 3600 4000
比较:
a[5]
a[[5]]
a[5][[1]]