在R中,代数关系的笛卡尔积表

3
我有一个或两个数字向量,例如:x <- c(1, 2, 3)。我想创建一个关系图形表示aRb,其中R是任何代数公式,例如a + b(在下面的示例中使用)或a / (a + b)(其中a,bx中的任意元素,包括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 = ba > b^2 / a的比较,此时表格中的结果将不是数字而是TRUE或FALSE。

是否有一个函数可以在R中创建这样的表格?

1个回答

5
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)})

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接