我有一个似然函数,作为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)
基本上,上述似然函数是为多元回归模型使用最大似然估计。我的问题是如何在R中创建一个类似于lm
的formula
(用于该软件包),以便用户能够输入因变量、自变量和数据。我已经检查了model.matrix
,但不确定它是否是我应该寻找的东西。任何关于此方面的建议将不胜感激。
formula
的需要在哪里发生呢? - Carl Witthoftmpg ~ cyl + hp
这样的东西,而不是y="mpg", h=c("cyl", "hp")
吗? - Ferdinand.kraft