超过五个类别的分类变量未显示在 R 中的总和表中

Categorical variable of more than five categories not showing on sumtable in R

我正在尝试对治疗组和对照组进行平衡测试。 使用 vtable 包中的 sumtable,我按组构建了汇总统计数据 table。 但是,超过 5 个类别的分类变量不会显示在 table。

例如,我有一个这样的示例数据框:

Treatment <- c("Treated", "Control", "Control", "Treated", "Treated", "Treated", "Control", "Treated", "Control", "Control")
City <- c(1, 4, 6, 2, 3, 3, 2, 5, 4, 6)
Age <- c(56, 70, 12, 54, 23, 9, 33, 38, 27, 49)
Gender <- c(1, 2, 3, 2, 2, 1, 1, 3, 2, 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))]

然后我创建 table:

sumtable(df, group = "Treatment", group.test = TRUE)

我得到了包含年龄和性别但没有城市的摘要统计信息table。 当我将城市限制为最多五个类别时,它会出现在 table 上。 有没有办法让城市出现在所有类别的摘要 table 中?

得到维护者的回答:

vtable自动将字符变量转换为因子显示,但当变量的不同值过多时不会这样做,因为这可能是一个实际的字符串变量,并且会有N不同的类别。

所以在做了这样的事情之后(Convert data.frame column format from character to factor),所有的类别都显示在vtable