在 N 数或按列减法方面需要帮助,以下是输入数据框中的列。
输入数据框:
A B C D
1 4 6 2
3 3 3 4
1 2 2 2
4 4 4 4
5 2 3 2
预期输出:
A B-A C-B D-C
1 3 2 -4
3 0 0 1
1 1 0 0
4 0 0 0
5 -3 1 -1
同样会有很多列,最多 10 个。
我可以为 2 列编写代码:
代码:
df$(B-A) <- df$B - df$A
df$(C-B) <- df$C - df$B
等等...但是这应该是循环的,因为几乎有 10 到 12 列。请帮我。
最佳答案
这是一种矢量化的方法,
cbind.data.frame(df[1], df[-1] - df[-ncol(df)])
给出,
A B C D 1 1 3 2 -4 2 3 0 0 1 3 1 1 0 0 4 4 0 0 0 5 5 -3 1 -1
关于r - n 列减法数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47788871/