【发布时间】:2017-06-08 18:09:33
【问题描述】:
例子:
df <- data.frame(A=1:5, B=seq(0,10,2), C=seq(0,15,3))
df
A B C
1 2 3
2 4 6
3 6 9
4 8 12
5 10 15
我想要的是:
A B C (A-B) (A-C) (B-C)
1 2 3 -1 -2 -1
2 4 6 -2 -4 -2
3 6 9 -3 -6 -3
4 8 12 -4 -8 -4
5 10 15 -5 -10 -5
这是一个示例。在我的问题中,我有超过 100 列
有关如何在 R 中执行此操作的任何建议?
【问题讨论】:
-
使用 dplyr、
df %>% mutate(ab = A - B, ac = A - C, bc = B - C)或其他语法中的类似内容 -
我不想手动写出所有列的方程。假设我有 100 列开始,那将是 4950 列。我不可能写出来
-
您可以使用
combn的结果进行子集化,但添加那么多列通常是个坏主意;最好改成长形。
标签: r dataframe combinations