【发布时间】:2021-04-09 00:16:38
【问题描述】:
我有一个因素可以识别调查数据集中的分层。我想重新排序因子,使某些字符模式排在其他字符模式之前。
例如,我有一个表示性别、年龄和教育程度的混合因素:
my_factor <- factor(levels=c(1:8),
labels=c("Male-18_34-HS","Female-35_49-HS",
"Male-18_34-CG", "Female-18_34-CG",
"Male-35_49-HS", "Male-35_49-CG",
"Female-18_34-HS", "Female-35_49-CG"),
ordered=TRUE)
我希望先按所有女性类别排序,然后按正确顺序按年龄类别排序,然后按正确顺序按教育类别排序。我可以通过forcats::fct_relevel 到达那里的大部分地方:
forcats::fct_relevel(my_factor, sort)
ordered(0)
8 Levels: Female-18_34-CG < Female-18_34-HS < Female-35_49-CG < Female-35_49-HS < Male-18_34-CG < Male-18_34-HS < ... < Male-35_49-HS
但教育类别的顺序错误。有没有办法确保“HS”在“CG”之前,但保持性别和年龄组的顺序相同?
【问题讨论】: