如何将 'flexmix' 模型(在 R 中)导出到 Tex?
How to export 'flexmix' model (in R) into Tex?
我已经使用 R 包 'flexmix' 创建了一些回归模型。我现在想将结果导出到 Tex。
与使用 lm() 创建的传统模型不同,flexmix 模型不会保存为命名数字,而是保存为 FLXRoptim 对象。
当我现在使用 'texreg' 包中的普通语法从模型结果创建 Tex 代码时,我收到错误消息:
"unable to find an inherited method for function ‘extract’ for signature ‘"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 导出吗?
我现在找到了一个解决方法:'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 输出的最实用方法。
我已经使用 R 包 'flexmix' 创建了一些回归模型。我现在想将结果导出到 Tex。
与使用 lm() 创建的传统模型不同,flexmix 模型不会保存为命名数字,而是保存为 FLXRoptim 对象。
当我现在使用 'texreg' 包中的普通语法从模型结果创建 Tex 代码时,我收到错误消息:
"unable to find an inherited method for function ‘extract’ for signature ‘"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 导出吗?
我现在找到了一个解决方法:'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 输出的最实用方法。