r - n 列减法数

标签 r loops dataframe data.table

在 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/

相关文章:

python - 计算滚动窗口中的不同字符串包括使用 Pandas 的 NaN

r - 如何访问和编辑Rprofile?

r - 自由度面板数据固定效应 (plm)

r - 在 R 中使用 rgl 绘制半透明球体

r - 如何在R中以某种方式获得输出

r - 在数据框中找到一系列规则,并带有中断规则

python - 如何通过 while 循环以 python 方式避免此代码重复?

Python 似乎在完成对这些十六进制值的循环之前就要死了。怎么修?

iphone - Objective-C中的高效循环

python - 将结构化的条目字典解析为美化的 Excel 工作表