Как экспортировать модель 'flexmix' (в R) в Tex? - PullRequest
1 голос
/ 22 июня 2019

Я использовал пакет R 'flexmix' для создания некоторых моделей регрессии. Теперь я хочу экспортировать результаты в Tex.

В отличие от обычных моделей, созданных с помощью lm (), модели flexmix сохраняются не в виде именованных чисел, а в виде объектов FLXRoptim.

Когда я теперь использую обычный синтаксис из пакета 'texreg' для создания кода Tex из результатов модели, я получаю сообщения об ошибках:

"невозможно найти унаследованный метод для функции‘ extract "для подписи‘ "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?

1 Ответ

0 голосов
/ 23 июня 2019

Я нашел обходной путь: «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.

...