我有一个或两个数值向量,例如x <- c(1, 2, 3)
.我想创建关系 aRb
的图形表示, 其中R
是任何代数公式,例如 a + b
(在下面的示例中使用)或 a / (a + b)
(与 a,b
的任何元素 x
,包括 a = b
,即自反关系)。
结构应该是:
R a b c
a a+a a+b a+c
b b+a b+b b+c
c c+a c+b c+c
所以输出将是(对于上面的样本向量 x):
R 1 2 3
1 2 3 4
2 3 4 5
3 4 5 6
R
也可以是一个比较,例如 a = b
或 a > b^2 / a
,那么表中的结果将不是数字,而是 TRUE 或 FALSE。
R 中有创建这样一个表的函数吗?
最佳答案
x <- 1:3
outer(x,x,"+")
[,1] [,2] [,3]
[1,] 2 3 4
[2,] 3 4 5
[3,] 4 5 6
您可以将其他函数传递给outer
,例如
outer(x,x,"==")
outer(x,x,FUN=function(a,b){a > (b^2 / a)})
https://stackoverflow.com/questions/16539042/