2
我试图组织使用mlogit获得的结果,用于导出到乳胶xtable
。但是,我发现很难在学术刊物上常见的相邻栏目中编写结果。组织垂直列中的mlogit产生的结果
特别是,我在最后一步遇到了问题,方程需要彼此相邻。
我正在介绍一个小数据框的例子,以及到目前为止我已经得到了多少。如果有更简单的方法来做到这一点,如果你让我知道,我会很高兴。
#--------------------------- Create test data and run model --------------------#
id <- 1:12
color <- factor(rep(c("blue","red","yellow"), each=4))
value1 <- round(rnorm(12)*5,1)
value2 <- round(runif(12),1)
factor1 <- factor(rep(c("A", "B"), 6))
data_sample <- data.frame(id, color, value1, value2, factor1)
# Reshape data
data_sample2 <- mlogit.data(data_sample, choice="color", shape="wide")
# Run model
mlogit.ds <- mlogit(color ~ 1 | value2 + value1 + factor1, data=data_sample2)
#summary(mlogit.ds)
# Save model summary
mlogit.ds <- summary(mlogit.ds)
#-------------------------- Prepare table -------------------------------#
mlogit_table <- data.frame(mlogit.ds$CoefTable)
mlogit_table <- mlogit_table[c(1,4)] # to keep only estimates and p-values
mlogit_table <- mlogit_table[order(rownames(mlogit_table)),] # to group all equations together
mlogit_table
Estimate Pr...t..
red:(intercept) 2.33034676 0.4653448
red:factor1B 0.13591855 0.9506175
red:value1 0.26639321 0.2072482
red:value2 -5.64821495 0.1956896
yellow:(intercept) 5.32776498 0.1372126
yellow:factor1B -3.30689681 0.2688475
yellow:value1 -0.09929715 0.6394161
yellow:value2 -7.28057244 0.1335184
#------------------------ Desired result ------------------------------#
red p yellow p
intercept -0.5522404 0.7597343 0.50745137 0.7349326
factor1B -0.6573629 0.7289306 -0.08885928 0.9528689
value1 -0.4058873 0.1495544 0.05956548 0.7833022
value2 0.6370185 0.8398007 -1.30156671 0.6051921
我需要创造哪些能够适应不同数量方程的解帮助(取决于结果变量多少级了)和每个方程的不同长度(根据预测的数字)。
这真是太好了,非常感谢。现在我正在更深入地研究sub()函数,以了解它是如何工作的,我之前并不知道它。你的解决方案让我的一切变得如此简单。谢谢!!! – ZMacarozzi