Печать стилизованной таблицы — R

#r

#r

Вопрос:

У меня есть код, который ранее печатал модели из glm. Теперь я хочу запустить ее после запуска confint , но не могу..

Есть идеи?

Спасибо!

 
library(tidyverse)
library(haven)
library(foreign)
library(mfx)
library(jtools)
library(skimr)
library(kableExtra)
library(nycflights13)
library(dplyr)
library(dotwhisker)
library(MASS)

flights <- nycflights13::flights
flights<- sample_n (flights, 500)
m1<- glm(formula = arr_delay ~ dep_time   origin  air_time  distance , data = flights)

kbl <- function (df) {
  cat("nn")
  df2<-kable(df) %>% kable_styling(bootstrap_options =     c("striped", "condensed"))
  print(df2)
  cat("nn")
}

m2<- summ(m1, exp = T)
kbl(m2)


 

Ответ №1:

Ваш код выдает следующее сообщение об ошибке:

 kbl(m2)

#Error in as.data.frame.default(x) : 
#  cannot coerce class ‘c("summ.glm", "summ")’ to a data.frame 
 

Ваша функция kbl() использует kable() функцию из kableExtra пакета. На основании документации (вы можете проверить ее, запустив ?kable ), для нее требуется объект R, который обычно представляет собой матрицу или фрейм данных в качестве входных данных. Если входные данные не являются единицей, он пытается принудительно преобразовать их во фрейм данных. Однако m2 это не матрица и не фрейм данных, и его нельзя принудительно преобразовать в фрейм данных, поэтому он не подходит для ввода kbl() .

Если вы хотите напечатать только таблицу m2 , вы можете попробовать:

 kbl(m2$coeftable)

 

m2$coeftable является матрицей, поэтому она подходит в качестве входных данных для kbl() . Вы можете проверить это с помощью is.matrix(m2$coeftable) .