问题描述
我正在尝试对治疗组和对照组进行平衡测试。
使用 vtable 包中的 sumtable
,我按组构建了一个汇总统计表。
但是,表中没有显示超过 5 个类别的分类变量。
Treatment <- c("Treated","Control","Treated","Control")
City <- c(1,4,6,2,3,5,6)
Age <- c(56,70,12,54,23,9,33,38,27,49)
Gender <- c(1,1,1)
df <- data.frame(Treatment,City,Age,Gender)
我相应地标记了城市和性别:
label_city <- c("1" = "City A","2" = "City B","3" = "City C","4" = "City D","5" = "City E","6" = "City F")
df$City <- label_city[match(df$City,names(label_city))]
label_gender <- c("1" = "Male","2" = "Female","3" = "Other")
df$Gender <- label_gender[match(df$Gender,names(label_gender))]
然后我创建表:
sumtable(df,group = "Treatment",group.test = TRUE)
我得到了一个包含年龄和性别的汇总统计表,但没有城市。 当我将城市限制为最多五个类别时,它会出现在表格中。 有没有办法让 City 出现在所有类别的汇总表中?
解决方法
得到维护者的答复:
vtable
自动将字符变量转换为因子进行显示,但是当变量的不同值太多时它不会这样做,因为它可能是一个实际的字符串变量,会有N个不同的类别.
所以在做这样的事情之后 (Convert data.frame column format from character to factor),所有的类别都显示在 vtable
上。