Я не могу найти действительно интуитивный способ сделать самую основную вещь;создание сводной таблицы с моими базовыми переменными.Лучший метод, который я нашел, в настоящее время использует tapply:
seed(200)
my_stats <- function(x){
if (is.factor(x)){
a <- table(x, useNA="no")
b <- round(a*100/sum(a),2)
# If binary
if (length(a) == 2){
ret <- paste(a[1], " (", b[1], " %)", sep="")
}
return(ret)
}else{
ret <- mean(x, na.rm=T)
if (ret < 1){
ret <- round(ret, 2)
}else{
ret <- round(ret)
}
return(ret)
}
}
library(rms)
groups <- factor(sample(c("Group A","Group B"), size=51, replace=T))
a <- 3:53
b <- rnorm(51)
c <- factor(sample(c("male","female"), size=51, replace=T))
res <- rbind(a=tapply(a, groups, my_stats),
b=tapply(b, groups, my_stats),
c=tapply(c, groups, my_stats))
latex(latexTranslate(res))
Res содержит:
> res
Group A Group B
a "28" "28"
b "-0.08" "-0.21"
c "14 (56 %)" "14 (53.85 %)"
Теперь это работает, но кажется очень сложным и не самым элегантным решением.Я пытался найти способы создания описательных таблиц, но все они сосредоточены на table (), prop.table (), summary () только для одной переменной или переменных того же вида.
Мой вопрос: Есть ли пакет / функция, которая позволяет легко создать красивый латексный стол?Если да, пожалуйста, дайте подсказку, как получить вышеуказанный результат.
Спасибо!