【发布时间】:2013-08-14 14:44:16
【问题描述】:
让我们考虑这个数据集:
df <- data.frame(age= sample(c(20:90), 20, rep=T),
sex = sample(c('m', 'f'), 20, rep=T),
smoker=sample(c("never", "former", "active"), 20, rep=T),
size= sample (c(8:40), 20, rep=T),
fac = as.factor(sample(c("neg","lo","med","hi"), 20, rep=T)),
outcome = sample(c(0,1), 20, rep=T)
)
# let's introduce some missing data
for (i in (1:3)) {df[sample(c(1:20),1), sample(c(1:6),1)] <- NA}
在医学手稿中,第一个表格总结了人群(或其适当的亚组);这里的行是年龄、性别、吸烟状况等,两个结果将列在不同的列中。连续变量报告为平均值;分类变量作为计数。
- 我想知道是否有我缺少的功能 创建这样的列联表。我可以手动执行此操作,但希望能够在数据集更改时自动更新。最终我需要用乳胶输出。
- 该函数需要忽略丢失的数据,但不删除这些行。
要求太多了?!
【问题讨论】:
-
默认
table'忽略'NA。比较with(df, table(fac, outcome))和with(df, table(fac, outcome, useNA = "always"))或with(df, table(fac, outcome, exclude = NULL))。 -
关于
can't find object 'fac',你需要参考你的数据集df。 -
关于
table(na.omit(mean(age)), outcome):当您考虑了之前的评论并检查了?mean,na.rm,您可能会再次想知道为什么它不起作用,以及您真正希望使用此表实现什么. -
谢谢 Henrik,我编辑了 OP。
-
我无法理解。由于
age是连续的,您是否想要以平均age作为行名并以两列作为两个结果的计数的单行?
标签: r contingency