স্টারগাজার এলএম (এবং অন্যান্য) অবজেক্টের জন্য খুব সুন্দর ল্যাটেক্স টেবিল তৈরি করে। মনে করুন আমি সর্বাধিক সম্ভাবনার দ্বারা একটি মডেল ফিট করেছি। আমি আমার অনুমানের জন্য স্টারগাজারকে একটি এলএম-জাতীয় টেবিল তৈরি করতে চাই। কিভাবে আমি এটি করতে পারব?
যদিও এটি কিছুটা হ্যাকি, তবে একটি উপায় হতে পারে আমার অনুমানযুক্ত একটি "নকল" এলএম বস্তু তৈরি করা - আমি মনে করি যে এটি সারাংশ (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?
আরও সুনির্দিষ্টভাবে বলতে গেলে: এলএম অবজেক্টের সাহায্যে স্টারগাজার সুন্দরভাবে টেবিলের শীর্ষে নির্ভরশীল ভেরিয়েবল প্রিন্ট করে, সংশ্লিষ্ট অনুমানের নীচে বন্ধনীতে এসএস অন্তর্ভুক্ত করে এবং টেবিটির নীচে আর ^ 2 এবং পর্যবেক্ষণের সংখ্যা রয়েছে has উপরের মতো সর্বাধিক সম্ভাবনা দ্বারা অনুমান করা "কাস্টম" মডেলটির সাথে একই আচরণ পাওয়ার কি কোনও (এন সহজ) উপায় আছে?
এলএম অবজেক্ট হিসাবে আমার সর্বোত্তম আউটপুটটি সাজানোর জন্য আমার দুর্বল প্রচেষ্টা এখানে রয়েছে:
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
texreg
প্যাকেজের সাথে একই ধরণের চেষ্টা করেছি । অলসতার কারণে, আমি আলাদা মডেলের সহগ এবং স্ট্যান্ডার্ড ত্রুটিগুলি ওভাররাইট করে শেষ করেছি, যা আমাকে পছন্দসই আউটপুট দিয়েছে। আপনার ক্ষেত্রে, আপনি যেমন সহগ এবং এর স্ট্যান্ডার্ড ত্রুটিগুলি ওভাররাইট করতে পারেনmodel1
। যদিও এটি একটি পরিশীলিত সমাধান নয়, এটি কাজ করা উচিত। বলা বাহুল্য, এর থেকে আরও ভাল সমাধান আসে কিনা তা দেখার জন্য আমি আগ্রহী ...