R 两两替换表

R 两两替换表,r,pairwise,R,Pairwise,我的数据集如下所示: Col1 Col2 A 2 B 5 C 1 D 4 A B C D A 0 -3 1 -2 B 3 0 4 1 C -1 -4 0 -3 D 2 -1 3 0 我想从Col2中减去行,以便最终输出如下所示: Col1 Col2 A 2 B 5 C 1 D 4 A B C D A 0 -3 1 -2 B

我的数据集如下所示:

Col1 Col2
A     2
B     5
C     1
D     4
    A   B   C   D
A   0  -3   1  -2
B   3   0   4   1
C  -1  -4   0  -3
D   2  -1   3   0
我想从Col2中减去行,以便最终输出如下所示:

Col1 Col2
A     2
B     5
C     1
D     4
    A   B   C   D
A   0  -3   1  -2
B   3   0   4   1
C  -1  -4   0  -3
D   2  -1   3   0

当我正在努力将结果格式化为成对比较表时,我将非常感谢您的帮助。

使用outer绝对是一个不错的选择。例如:

x2 <- 1:4; names(x2) <- c("A","B","C","D")
x3 <- 1:4; names(x3) <- c("A","B","C","D")

outer(x2,x3, "-")

  [,1] [,2] [,3] [,4]
A    0   -1   -2   -3
B    1    0   -1   -2
C    2    1    0   -1
D    3    2    1    0

x2使用outer绝对是一个不错的选择。例如:

x2 <- 1:4; names(x2) <- c("A","B","C","D")
x3 <- 1:4; names(x3) <- c("A","B","C","D")

outer(x2,x3, "-")

  [,1] [,2] [,3] [,4]
A    0   -1   -2   -3
B    1    0   -1   -2
C    2    1    0   -1
D    3    2    1    0

x2您正在寻找
outer()
?您的数据集是一个数据帧吗?我不知道这个函数,但在快速查看之后,我发现如果您可以使用
dist
,它也可以工作,这会更有效。您正在寻找
outer()
?您的数据集是一个数据帧吗?我不知道这个函数,但在快速查看之后,我发现如果您可以使用
dist
,那么它也会工作得更有效
outer(x2,x2',-)
outer(x2,x2',-)