몽상가 (Stargazer)는 작품 (및 기타) 객체를위한 매우 훌륭한 라텍스 테이블을 생성합니다. 모델을 최대 우도로 적합하다고 가정합니다. 나는 몽상가가 내 견적을 위해 작품과 같은 테이블을 제작하길 바란다. 어떻게해야합니까?최대 가능도에 의해 추정 된 계수를 몽상가 테이블로 가져옵니다.
조금 해킹 되긴하지만, 내 견적을 포함하는 "가짜"작품을 만드는 것이 하나의 방법 일 수 있습니다. 요약 (my.fake.lm.object)이 작동하는 한 작동 할 것입니다. 그렇게 쉽게 할 수 있습니까?
예 :library(stargazer)
N <- 200
df <- data.frame(x=runif(N, 0, 50))
df$y <- 10 + 2 * df$x + 4 * rt(N, 4) # True params
plot(df$x, df$y)
model1 <- lm(y ~ x, data=df)
stargazer(model1, title="A Model") # I'd like to produce a similar table for the model below
ll <- function(params) {
## Log likelihood for y ~ x + student's t errors
params <- as.list(params)
return(sum(dt((df$y - params$const - params$beta*df$x)/params$scale, df=params$degrees.freedom, log=TRUE) -
log(params$scale)))
}
model2 <- optim(par=c(const=5, beta=1, scale=3, degrees.freedom=5), lower=c(-Inf, -Inf, 0.1, 0.1),
fn=ll, method="L-BFGS-B", control=list(fnscale=-1), hessian=TRUE)
model2.coefs <- data.frame(coefficient=names(model2$par), value=as.numeric(model2$par),
se=as.numeric(sqrt(diag(solve(-model2$hessian)))))
stargazer(model2.coefs, title="Another Model", summary=FALSE) # Works, but how can I mimic what stargazer does with lm objects?
더 정확하게는
: LM 개체, 몽 상가 좋게 표 상단 종속 변수를 인화 해당 추정 아래 괄호 SE들을 포함하고, R을 갖는다^2와 관측 수를 표의 하단에 표시합니다. 위와 같이 최대 확률로 추정되는 "사용자 지정"모델을 사용하여 동일한 동작을 얻는 쉬운 방법이 있습니까?
다음은 LM 개체로 내 Optim을 출력을 드레싱에 내 미약 한 시도입니다
model2.lm <- list() # Mimic an lm object
class(model2.lm) <- c(class(model2.lm), "lm")
model2.lm$rank <- model1$rank # Problematic?
model2.lm$coefficients <- model2$par
names(model2.lm$coefficients)[1:2] <- names(model1$coefficients)
model2.lm$fitted.values <- model2$par["const"] + model2$par["beta"]*df$x
model2.lm$residuals <- df$y - model2.lm$fitted.values
model2.lm$model <- df
model2.lm$terms <- model1$terms # Problematic?
summary(model2.lm) # Not working
내가 STH를 시도했다 'texreg' 패키지와 비슷합니다. 게으름으로 인해 다른 모델의 계수와 표준 오류를 덮어 쓰게되어 원하는 출력을 얻을 수있었습니다. 귀하의 경우에는 'model1'의 계수와 표준 오차를 덮어 쓴다. 이것은 정교한 해결책은 아니지만 작동해야합니다. 말할 것도없이 더 좋은 솔루션이 있는지 궁금합니다. – coffeinjunky
'stargazer :::. stargazer.wrap'로 무거운 짐을지는 stargazer 함수를 살펴볼 수 있습니다. 테이블을 포맷하는 코드 외에도 많은 다른 기능을 가진 컨테이너처럼 보입니다. 그리고'lm' (그리고'glm')을위한 꽤 많은 구성 요소들을 평가하는 것 같아서'optim()'결과를 정돈하는 것을 매우 어렵게 만듭니다. – andybega
''texreg''에서''createTexreg'' 함수를 사용하여''texreg'' 객체를 만드는 것만으로도 충분합니다. 기본적으로 계수, SE 등을 넘깁니다.''? createTexreg''를보십시오. ''texreg'' 객체는''texreg'',''htmlreg'',''screenreg'',''plotreg'' 함수들로 공급 될 수 있습니다. 또는 JSS 기사의 6 절에서는 나중에 동일한 템플리트를 재활용하려는 경우 새 모델 유형에 대한 메소드를 작성하고 등록하는 방법을 설명합니다. –