【发布时间】:2012-01-13 22:09:11
【问题描述】:
我找不到一种真正直观的方法来做最基本的事情;用我的基本变量创建一个汇总表。我发现的最好的方法是目前使用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
Group A Group B
a "28" "28"
b "-0.08" "-0.21"
c "14 (56 %)" "14 (53.85 %)"
现在这可行,但它似乎非常复杂并且不是最优雅的解决方案。我试图搜索如何创建描述性表,但所有的焦点都集中在 table()、prop.table()、summary() 上,仅用于单个变量或同类变量。
我的问题:是否有一个包/功能可以轻松创建美观的乳胶表?如果是这样,请提示如何获得上述结果。
谢谢!
【问题讨论】:
-
您的问题是什么?标题中的那个是关于创建一个包含变量摘要信息的表格,还是最后一个是关于制作一个漂亮的乳胶表格?
-
对不起,我最感兴趣的只是获取细胞。格式化 LaTeX 可能不是真正的 R 问题
-
查看 R
Hmisc包summaryM函数。 -
@FrankHarrell:谢谢,因为我写了这个问题,所以我开发了我自己的生成表 1 的方法,你可以在我的 Gmisc 包中找到它,参见 vignette 示例
标签: r