例如,如果我有以下向量:
a <- c(1,2,3)
b <- c(2,5,4,2)
并且操作将是乘以我期望输出的值:
* [1] [2] [3]
[2] 2 4 6
[5] 5 10 15
[4] 4 8 12
[2] 2 4 6
是否有一种方法可以在R中执行此操作而不只是运行一些循环?我要运行的操作是
f(x,y) = (EXP(1*(x-y)))/(1+EXP(x-y))
并且这些向量只是两个数字向量,一个具有大约50000个值,另一个具有25个值。
我们可以通过在outer
中传递函数来使用FUN
执行此操作>
outer(b, a, FUN = function(x, y) exp(1*(x-y))/(1 + exp(x - y)))
并获得
*
outer(b, a)
另一个base R
选项可能是: