-2

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

4列目を作りたい

price buy_sell  qty net
100        B  100   10000
100        B  200   30000
90        S  300    3000
100        S  400   -37000
4

1 に答える 1

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]]
于 2013-03-01T21:35:41.360 に答える