r - 在循环中减去列

标签 r loops dataframe

我有一个这样的数据框:

df:
   A  B  C
1  1  2  3
2  2  2  4
3  2  2  3

我想用下一个较小的列(A-0、B-A、C-B)减去每一列。所以我的结果应该是这样的:

df:
   A  B  C
1  1  1  1
2  2  0  2
3  2  0  1

我尝试了下面的循环,但没有成功。

for (i in 1:3) {
  j <- data[,i+1] - data[,i]
}

最佳答案

试试这个

df - cbind(0, df[-ncol(df)])

#   A B C
# 1 1 1 1
# 2 2 0 2
# 3 2 0 1

数据

df <- data.frame(A = c(1, 2, 2), B = c(2, 2, 2), C = c(3, 4, 3))

关于r - 在循环中减去列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61084636/

相关文章:

c++ - R 和 C++ 中的随机数

r - 在 R 中通过矢量化(子集)分配

光栅中的反转图例

algorithm - 在 Fortran 中重新启动循环

python - 根据列标题获取Excel列字母 - Python

r - 如何将打印函数输出放入数据框中

java - do while 循环错误

c# - C# do-while 循环在 Web 开发中有什么常见的用法吗?

python - 使用对单个元素进行操作的 lambda 表达式来过滤 pandas 系列

python - pandas 保留满足或失败条件的两行