用户在R程序中指定的功能

时间:2015-01-12 05:13:22

标签: r statistics

我想创建一个可用于不同数据集的函数。这是我的功能(我把它作为源代码):

#Log-likelihood function
likfunc<-function(para,dat){
  alpha<-para[1]
  lambda<-para[2]
  a<-log(para[1])+log(para[2])+(para[1]-1)*log(dat$z)
      b<-para[2]*(dat$z)^para[1]
  return((dat$d*a)+b)
}

然后我尝试运行以下代码(这是第一组数据):

library(maxLik)
set.seed(201)
u<-runif(20,min=0,max=1) #to simulate t
c<-rexp(20,rate=0.05)
t<-(-log(u)/0.5)^(1/2) #initial vale alpha=2,lambda=0.5
z<-pmin(t,c) 
d<-as.numeric(c>t)     
samp<-cbind(t,c,z,d)
data<-as.data.frame(samp)

mle<-maxLik(logLik=likfunc(para,data),start=c(alpha=2,lambda=0.5))
mle

但是R返回:likfunc(para,data)中的错误:找不到对象'para'

我在做模拟。以前我每次有新数据集时都会运行该函数。然后我得到一个建议,因为我的代码将使R工作更多,并且完成模拟需要很长时间。有人可以帮忙吗?谢谢。

0 个答案:

没有答案