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 值总是在函数中提供。
要让它发挥作用,您可以做两件事。
lapply(1:100, function(x) genereting_fuction(100))
像 genereting_fuction <- function(x, n) { # code here }
一样在你的函数中包含 x 然后你可以使用 lapply(1:100, genereting_fuction, n = 100)
我创建了这个函数来生成具有我需要的特征的数据:
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 值总是在函数中提供。
要让它发挥作用,您可以做两件事。
lapply(1:100, function(x) genereting_fuction(100))
像
genereting_fuction <- function(x, n) { # code here }
一样在你的函数中包含 x 然后你可以使用lapply(1:100, genereting_fuction, n = 100)