我有一个似然函数,它作为参数输入maxLik
到 maxLik 包的函数中。例如:
library(maxLik)
likFun <- function(param, x, y, h) {
dep <- as.matrix(x[,y])
indep <- as.matrix(x[,h])
indep <- as.matrix(cbind(cons=1, indep))
k <- dim(indep)[2]
beta <- as.matrix(param[1:k])
xbeta <- crossprod(t(indep), beta)
sig <- param[k+1]
res <- (dep-xbeta)/sig
sum( (-(1/2)*log(2*pi)) - ((1/2)*log((sig)^2)) - ((res^2)/2) )
}
model <- maxLik(likFun, start=c(0,0,0,1), grad=NULL, hess=NULL, x=mtcars,
y="mpg", h=c("cyl", "hp"))
summary(model)
基本上,上述似然函数将最大似然用于多元回归模型。我的问题是如何formula
在 R 中创建一个(用于包),lm
以便用户能够输入因变量和自变量和数据。我已经检查过model.matrix
,但我不确定它是否是我应该寻找的。在这方面的任何建议将不胜感激。