R 外部不适用于具有多个参数的函数?

R 外部不适用于具有多个参数的函数?,r,R,我开发了以下返回布尔值(0或1)的函数: 这里我试图计算lanchester()函数中的r和b参数。此函数lanchester()一次返回0或1。因此,矩阵m将是由零或1组成的矩阵,其尺寸等于长度(r)*长度(b) 这里的问题是外部函数给出了一个错误 提前感谢您的帮助 正如@BenBolker在评论中提到的那样,Vectorize可以围绕函数运行 lanchester_vec <- Vectorize(function(r, b) { lanchester(time_r

我开发了以下返回布尔值(0或1)的函数:

这里我试图计算
lanchester()
函数中的
r
b
参数。此函数
lanchester()
一次返回0或1。因此,矩阵m将是由零或1组成的矩阵,其尺寸等于
长度(r)*长度(b)

这里的问题是外部函数给出了一个错误


提前感谢您的帮助

正如@BenBolker在评论中提到的那样,
Vectorize
可以围绕函数运行

lanchester_vec <- Vectorize(function(r, b) {
          lanchester(time_range=c(0,T=30*60),delta=0.001,r, b, R_0=30, B_0=30)})
outer (r1, b1, lanchester_vec)
#       [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
# [1,]    1    0    0    1    1    1    1    1    1
# [2,]    1    1    0    0    1    0    1    1    1
# [3,]    1    1    1    1    0    0    0    1    1
# [4,]    1    1    1    1    1    0    1    1    1
# [5,]    0    1    0    1    1    1    0    1    0
# [6,]    0    0    1    1    1    1    1    0    0
# [7,]    1    1    0    1    0    0    1    0    0
# [8,]    1    1    0    1    1    0    0    1    0
# [9,]    1    1    1    0    1    1    1    0    1

lanchester\u-vec
outer
仅适用于矢量化函数。(有关快速解决方法,请参见
?矢量化
)@BenBolker,是否有其他可能像mapply一样工作?非常感谢您的宝贵帮助!
      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
 [1,]    1    1    1    1    1    1    1    1    1
 [2,]    1    1    1    1    1    1    1    0    1
 [3,]    1    0    1    1    1    1    1    1    1
 [4,]    1    1    1    0    1    0    1    1    1
 [5,]    1    0    1    1    0    0    1    1    1
 [6,]    0    1    0    1    1    1    0    1    0
 [7,]    0    0    0    1    1    1    1    1    1
 [8,]    1    0    1    0    1    1    1    1    1
 [9,]    1    1    1    1    0    1    0    1    1
lanchester_vec <- Vectorize(function(r, b) {
          lanchester(time_range=c(0,T=30*60),delta=0.001,r, b, R_0=30, B_0=30)})
outer (r1, b1, lanchester_vec)
#       [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
# [1,]    1    0    0    1    1    1    1    1    1
# [2,]    1    1    0    0    1    0    1    1    1
# [3,]    1    1    1    1    0    0    0    1    1
# [4,]    1    1    1    1    1    0    1    1    1
# [5,]    0    1    0    1    1    1    0    1    0
# [6,]    0    0    1    1    1    1    1    0    0
# [7,]    1    1    0    1    0    0    1    0    0
# [8,]    1    1    0    1    1    0    0    1    0
# [9,]    1    1    1    0    1    1    1    0    1