在数据集中重新布置因素

时间:2019-02-27 01:38:35

标签: r dplyr

我有一个名为HAPPY的数据集,它具有多个不同的列(AGE,MARITAL,DEGREE ...等)。我将这些列用作因子变量,并且我尝试重新排列因子中的水平,以便它们按有意义的顺序排列。例如,我试图将MARITAL因子重新排列为c(“从不结婚”,“已婚”,“分居”,“离婚”,“丧偶”)。我应该使用Dplyr进行此操作。可能使用“安排”,“汇总”和“通过...分组。 这是我所做的,但这还远远没有结束,我正在努力找出答案:

HAPPY %>% group_by(MARITAL) %>% summarize(n = n(), solo = mean(AGE)) %>% arrange(desc(solo))

感谢您的时间!

https://xdaiisu.github.io/ds202materials/hwlabs/HAPPY.rds 这是数据的链接

1 个答案:

答案 0 :(得分:0)

在阅读您的rds文件之后,我注意到MARITAL列的字符,而不是因数。使用mutate函数将其转换为因数的方法如下。之后,您可以将arrangedesc一起使用,重新排列行顺序,以降序排列。

library(dplyr)

HAPPY2 <- HAPPY %>%
  mutate(MARITAL = factor(MARITAL, 
                          levels = c("NEVER MARRIED", "MARRIED", "SEPARATED", "DIVORCED", "WIDOWED"))) %>%
  arrange(desc(MARITAL))

我不清楚您为什么要使用summarizegroup_by。如果您有新问题,请澄清。