我已经使用R包“ flexmix”创建了一些回归模型。我现在想将结果导出到Tex。
与使用lm()创建的常规模型不同,flexmix模型不会保存为命名数字,而是保存为FLXRoptim对象。
当我现在使用'texreg'包中的普通语法以便从模型结果中创建Tex代码时,我收到错误消息:
”无法找到签名““ FLXRoptim””的函数“提取”的继承方法
我必须直接访问模型,这些模型存储为'Coefmat',但我没有设法使其可用于texreg()。
library(flexmix)
library(texreg)
data("patent")
## 1. Flexmix model ##
flex.model <- flexmix(formula = Patents ~ lgRD, data = patent, k = 3,
model = FLXMRglm(family = "poisson"), concomitant = FLXPmultinom(~RDS))
re.flex.model <- refit(flex.model)
## 2. Approach of results extraction ##
comp1.flex <- re.flex.model@components[[1]][["Comp.1"]]
## 3. Not working: Tex Export ##
texreg(comp1.flex)
你们有一个想法如何使这些模型结果可用于Tex导出吗?
答案 0 :(得分:0)
我现在找到了一种解决方法:'Texreg'允许我们使用手动指定的列创建Texreg模型。
createTexreg(coef.names, coef, se, pvalues)
使用上面的示例:
## Take estimates, SEs, and p-values for Comp1 ##
est1 <- re.flex.model@components[[1]][["Comp.1"]][,1]
se1 <- re.flex.model@components[[1]][["Comp.1"]][,2]
pval1 <- re.flex.model@components[[1]][["Comp.1"]][,4]
## Take estimates, SEs, and p-values for Comp2 ##
est2 <- re.flex.model@components[[1]][["Comp.2"]][,1]
se2 <- re.flex.model@components[[1]][["Comp.2"]][,2]
pval2 <- re.flex.model@components[[1]][["Comp.2"]][,4]
## Create Texreg objects and export into Tex ##
mymodel1 <- createTexreg(row.names(comp1.flex), est1, se1, pval1)
mymodel2 <- createTexreg(row.names(comp1.flex), est2, se2, pval2)
models.flex = list(mymodel1, mymodel2)
texreg(models.flex)
这可能是将此类特定模型转换为常规Tex输出的最实用方法。