R 转换为因子,然后在图形上按自定义顺序显示
我在下面的数据框中有一个字符列。我想将其更改为“因子”,以便在使用ggplot打印结果时,x轴上的标签按特定顺序排列:R 转换为因子,然后在图形上按自定义顺序显示,r,forcats,R,Forcats,我在下面的数据框中有一个字符列。我想将其更改为“因子”,以便在使用ggplot打印结果时,x轴上的标签按特定顺序排列: df <- structure(list(Level = c("1", "1", "1", "1", "1", "2", "1", "1" ), Variable = c("lskill_wc", "Grande_Estab", "lskill_wc", "lskill_bc", "hskill_wc", "balcadv", "hskill_bc", "Vinc
df <- structure(list(Level = c("1", "1", "1", "1", "1", "2", "1", "1"
), Variable = c("lskill_wc", "Grande_Estab", "lskill_wc", "lskill_bc",
"hskill_wc", "balcadv", "hskill_bc", "Vinculos_Micro"), estimate = c(0.154462929180099,
-0.00565989816383741, 0.127039272664461, 0.244657086455149, 0.153358091697942,
-0.00769107968294057, -0.00592547333520778, 0.138216262540319
)), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA,
-8L))
df既然你完全改变了问题,我原来的答案就失效了。我不得不改变它,以避免吸引反对票
在这种情况下,最好提出一个新问题
答案的格式与原文完全相同;你似乎只是把你的因子水平搞混了。你所期望的因素排序列表实际上遗漏了一个“高技能蓝领工人”
标签1 lskill_wc 0.154低技能白领工人
#>2 1 Grande_Estab-0.00566大型公司
#>3 1 lskill_wc 0.127低技能白领工人
#>4 1 lskill_bc 0.245低技能蓝领工人
#>5 1 hskill_wc 0.153高技能白领工人
#>6.2巴尔卡德夫-0.00769组件。副词。
#>7 1 hskill_bc-0.00593高技能蓝领工人
#>8 1 Vinculos_Micro 0.138就业率
级别(df$标签)
#>[1]“低技能白领”“低技能蓝领”
#>[3]“高技能白领”“高技能蓝领”
#>[5]“大公司”“雇佣”
#>[7]“高级公司”
由(v0.3.0)于2020-03-04创建,添加Variable=as.factor(c(..)
将“Variable”更改为factor。您的预期输出是什么?@RonakShah我想实际使用ggplot制作点图。我希望在Level
中具有不同值的变量具有不同的形状。我还想让它们以特定的顺序显示,由问题中第二个数据框的第二列给出。我不确定到底发生了什么。在我看来,代码混淆了我的价值观。我将通过发布我的真实数据集来改变这个问题
Level Correspondence
<chr> <chr>
1 1 A
2 2 B
Variable Correspondence
<chr> <chr>
1 lskill_wc Low skill white collar
2 lskill_bc Low skill blue collar
3 hskill_bc High skill white collar
4 Grande_Estab Large firm
5 Vinculos_Micro Employment
6 balcadv Comp. Adv