#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)
.