【问题标题】:Rearranging a factor inside a DATA set重新排列数据集中的因子
【发布时间】:2019-07-20 15:50:07
【问题描述】:

我有一个名为 HAPPY 的数据集,它有多个不同的列(AGE、MARITAL、DEGREE...等等)。我将这些列作为因子变量,并且我正在尝试重新排列因子中的级别,以便它们按照有意义的顺序排列。例如,我正在尝试将 MARITAL 因素重新排列为 c("Never Married" "Married "Separated", "Divorced", "Widowed")。我应该使用 Dplyr 来执行此操作。可能使用排列、汇总和通过...分组。 这就是我所做的,但这一点也不接近,我正在努力解决这个问题:

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

感谢您的宝贵时间!

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

【问题讨论】:

  • 我们很不高兴我们没有您的 HAPPY 数据集的可重现示例。
  • 我该怎么做?
  • dput(HAPPY) :)
  • 我在链接中添加了它,如果可以,请告诉我,对不起,这是我第一次来这里

标签: r dplyr


【解决方案1】:

阅读您的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。如果您有新问题,请澄清。

【讨论】:

    猜你喜欢
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 2021-04-16
    • 2017-02-13
    • 2022-01-10
    • 2016-05-14
    • 1970-01-01
    相关资源
    最近更新 更多