我有一个名为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 这是数据的链接
答案 0 :(得分:0)
在阅读您的rds
文件之后,我注意到MARITAL
列的字符,而不是因数。使用mutate
函数将其转换为因数的方法如下。之后,您可以将arrange
与desc
一起使用,重新排列行顺序,以降序排列。
library(dplyr)
HAPPY2 <- HAPPY %>%
mutate(MARITAL = factor(MARITAL,
levels = c("NEVER MARRIED", "MARRIED", "SEPARATED", "DIVORCED", "WIDOWED"))) %>%
arrange(desc(MARITAL))
我不清楚您为什么要使用summarize
和group_by
。如果您有新问题,请澄清。