Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.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,我正在尝试改进“n”列的以下代码,到目前为止我还没有骰子 A = runif(1000, -2, 2) B = data.frame(A, runif(1000, -0.5, 0.5), runif(1000, -0.25, 0.25), runif(1000, -0.1, 0.1), ...) X[, 1] = B[, 1] - B[, 2] # << I am stuck in this steps X[, 2] = X[, 1] - B[, 3] # &

我正在尝试改进“n”列的以下代码,到目前为止我还没有骰子

A = runif(1000, -2, 2)
B = data.frame(A, runif(1000, -0.5, 0.5), runif(1000, -0.25, 0.25), runif(1000, -0.1, 0.1), ...)
X[, 1] = B[, 1] - B[, 2]     #   << I am stuck in this steps
X[, 2] = X[, 1] - B[, 3]     #   << I am stuck in this steps
X[, 3] = X[, 2] - B[, 4]     #   << I am stuck in this steps
...
...
...
X[, n] = X[, n-1] - B[, n+1] #   << I am stuck in this steps
W = data.frame(B[, 1], X[,1], ... , X[,n]) 
plot.ts(W, plot.type="multiple")
A=runif(1000,-2,2)
B=数据帧(A,runif(1000,-0.5,0.5),runif(1000,-0.25,0.25),runif(1000,-0.1,0.1),…)

X[,1]=B[,1]-B[,2]#您可以使用
Reduce
accumulate=TRUE
将函数按顺序应用于数据帧的每一列,累积结果。在这种情况下,您希望对每对列应用减法

setNames(data.frame(Reduce("-", dat, accumulate=TRUE)), names(dat))
#   x  y   z
# 1 1 -1  -1
# 2 2 -1  -6
# 3 3 -1 -11
数据:


请添加您在此处尝试的代码。发布一个能证明你的问题的帖子可能会帮助你得到更好的答案。谢谢没有必要@约瑟伯的解决方案对我来说很有吸引力。
(dat = data.frame(x=1:3, y=2:4, z=c(0, 5, 10)))
#   x y  z
# 1 1 2  0
# 2 2 3  5
# 3 3 4 10