Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R:对自身的列引用_R - Fatal编程技术网

R:对自身的列引用

R:对自身的列引用,r,R,求求你,救命! 我有: x y 0 0 0 0 0 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 我想得到: x y 0 0 0 0 0 0 1 1 1 0 1 0 0 -1 0 0 0 0 1 1 1 0 0 -1 0 0 0 0 我使用R: for (i in 2:length(w$x)) { w$x[i] = w$x[

求求你,救命! 我有:

x   y
0   0
0   0
0   0
0   1
0   0
0   0
0   -1
0   0
0   0
0   1
0   0
0   -1
0   0
0   0
我想得到:

x   y
0   0
0   0
0   0
1   1
1   0
1   0
0   -1
0   0
0   0
1   1
1   0
0   -1
0   0
0   0
我使用R:

for (i in 2:length(w$x)) { w$x[i] = w$x[i-1] + w$y[i]}
可以不使用循环语句吗


谢谢大家!

这假设您希望从
x
列中的初始值0开始:

transform(w, x = cumsum(y))
##    x  y
## 1  0  0
## 2  0  0
## 3  0  0
## 4  1  1
## 5  1  0
## 6  1  0
## 7  0 -1
## 8  0  0
## 9  0  0
## 10 1  1
## 11 1  0
## 12 0 -1
## 13 0  0
## 14 0  0
否则,可以包括初始值:

transform(w, x = x[1] + cumsum(y))
这里的结果是一样的。 这两种情况都假设
y[1]
为零,或者如果实际值为非零,则希望使用实际值(代码忽略
y[1]
)。

cbind(总和(y),y)