genereting_fuction(100) 中的错误:找不到函数“genereting_fuction

Error in genereting_fuction(100) : could not find function "genereting_fuction

我创建了这个函数来生成具有我需要的特征的数据:

genereting_fuction<-function(n){
  
  X1=rnorm(n)+mean_shifts[1]
  X4=rnorm(n)+mean_shifts[4]
  X2=X1*p12+std_e2*rnorm(n)+mean_shifts[2]
  X3=X1*p13+X4*p43+std_e3*rnorm(n)+mean_shifts[3]
  X5=X2*p25+X3*p35+std_e5*rnorm(n)+mean_shifts[5]
  sample=cbind(X1,X2,X3,X4,X5)
  return(sample)
}

如果我为单个项目调用它,它会起作用,但是当我在 appplay 函数中调用它时,如下所示:

dati<-lapply(1:100, genereting_fuction(100))

我收到这个错误: genereting_fuction(100) 中的错误: 找不到函数“genereting_fuction”

请注意,为了您的目的,我更喜欢@Jakub.Novotny 的复制解决方案,但要了解使用 lapply 出了什么问题,这就是解决问题的原因和方法。

使用 apply 和一个函数,它假定 x 您的 apply 值总是在函数中提供。

要让它发挥作用,您可以做两件事。

  1. lapply(1:100, function(x) genereting_fuction(100))

  2. genereting_fuction <- function(x, n) { # code here } 一样在你的函数中包含 x 然后你可以使用 lapply(1:100, genereting_fuction, n = 100)