tableone::CreateTableOne未显示smd(标准化平均差)
在R中,我试图使用tableone::CreateTableOne来计算数据帧上的smd(标准化平均差)。我使用了本教程()-代码运行并很好地生成了所需的输出表,包括smd 但是,如果我使用我自己的数据,例如下面的测试数据,我会得到表格,但没有smd。也许我犯了一些愚蠢的错误,但在尝试了很多东西(只有数字、更小或更大的数据集、分类变量作为因子(如在r帮助中)或字符(如在教程中)之后,我无法理解为什么我没有获得smdtableone::CreateTableOne未显示smd(标准化平均差),r,smd,R,Smd,在R中,我试图使用tableone::CreateTableOne来计算数据帧上的smd(标准化平均差)。我使用了本教程()-代码运行并很好地生成了所需的输出表,包括smd 但是,如果我使用我自己的数据,例如下面的测试数据,我会得到表格,但没有smd。也许我犯了一些愚蠢的错误,但在尝试了很多东西(只有数字、更小或更大的数据集、分类变量作为因子(如在r帮助中)或字符(如在教程中)之后,我无法理解为什么我没有获得smd # package tableone for CreateTableOne if
# package tableone for CreateTableOne
if (!require("tableone")) install.packages("tableone"); library("tableone")
# producible test data
set.seed(1234)
d <- data.frame(age = rnorm(n = 200, mean = 50, 9),
hair = as.factor(sample(x = c("brown", "black", "blond"), 200, replace = T)),
group = sample(x = c("sick", "healthy"), 200, replace = T))
str(d)
# calculate and print the table
tabUnmatched <- tableone::CreateTableOne(vars = c("age", "hair"), strata = "group", data = d, test = FALSE, smd = TRUE)
print(tabUnmatched)
我做错了什么,我需要做什么才能获得smd输出?呃……这是什么
print(tabUnmatched, smd = TRUE)
Stratified by group
healthy sick SMD
n 90 110
age (mean (SD)) 49.18 (7.97) 49.72 (10.10) 0.059
hair (%) 0.050
black 30 (33.3) 35 (31.8)
blond 33 (36.7) 43 (39.1)
brown 27 (30.0) 32 (29.1)
是的。问题解决了。刚刚发现有一个特殊的print.TableOne表单用于打印,它接受smt=T(我在教程中忽略了它)以及许多其他参数!尽管在那里提到过,但我不会说在帮助文件中过分强调了这一点。
print(tabUnmatched, smd = TRUE)
Stratified by group
healthy sick SMD
n 90 110
age (mean (SD)) 49.18 (7.97) 49.72 (10.10) 0.059
hair (%) 0.050
black 30 (33.3) 35 (31.8)
blond 33 (36.7) 43 (39.1)
brown 27 (30.0) 32 (29.1)