Декартовы таблица продуктов для алгебраическим соотношением Р


У меня есть один или два числовых вектора, например 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, результат в тогда таблица будет не числом, а истиной или ложью.

Существует ли функция для создания такой таблицы в R?

1 3

1 ответ:

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