xtable для не поддерживаемых функций (с R) - PullRequest
6 голосов
/ 06 мая 2011

что я должен делать, если xtable не знает специальной команды.Например, предположим оценку модели тобита, например:

require(AER) require(xtable)

attach(cars)

tob<-tobit(dist~speed) summary(tob)

xtable(summary(tob))

detach(cars)

вывод итогов очень похож на вывод линейной модели ... Что я могу сделать, чтобы xtable понял, что яхотите иметь коэффициенты в латексной таблице?Самме с другими функциями вроде summary(zeroinfl(<model>)) из пакета pscl?Что бы вы, ребята, порекомендовали сделать?

Ответы [ 2 ]

4 голосов
/ 06 мая 2011

Вот еще одна функция, которую вы можете использовать.Это модифицированная версия таблицы xtable, определенной для lm.то есть я только что изменил функцию xtable.summary.lm для случая с тобитом.Он также будет приведен в соответствие с другими функциональными возможностями xtable

xtable.summary.tobit <- 
function (x, caption = NULL, label = NULL, align = NULL, digits = NULL, 
display = NULL, ...) 
{
 x <- data.frame(unclass(x$coef), check.names = FALSE)
 class(x) <- c("xtable", "data.frame")
 caption(x) <- caption
 label(x) <- label
 align(x) <- switch(1 + is.null(align), align, c("r", "r", 
     "r", "r", "r"))
 digits(x) <- switch(1 + is.null(digits), digits, c(0, 4, 
     4, 2, 4))
 display(x) <- switch(1 + is.null(display), display, c("s", 
     "f", "f", "f", "f"))
 return(x)
}
## Now this should give you the desired result
xtable(summary(tob))

Надеюсь, это поможет получить желаемый результат

4 голосов
/ 06 мая 2011

Краткий ответ: «преобразовать его в класс, который понимает xtable». Например,

tmp <- summary(tob)
str(tmp) ## a list
names(tmp) ## the contents of tmp
str(tmp$coefficients) ## the class of the coeffients table ("coeftest")
is.matrix(tmp$coefficients) # TRUE
class(tmp$coefficients) <- "matrix"
xtable(tmp$coefficients)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...