如何对“进行”执行此列减法;";R中的列?
我正在尝试改进“n”列的以下代码,到目前为止我还没有骰子如何对“进行”执行此列减法;";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] # &
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