首页 > 解决方案 > 如何减少 R 中的级别数?

问题描述

我有一个数据框,其中有一列“天”,有 4 个级别(周日、周一、周二、周三)。我希望我的专栏只剩下 2 个级别(周日、周二)。

我认为我需要的功能是 droplevels() 但是我找不到一个明确的例子来说明如何使用它

levels(data$Days)

# this is what I have now
[1] "Sunday"      "Mondays"   "Tuesday"   "Wednesday"

标签: r

解决方案


假设您想映射周一到周日和周三到周二,您可以尝试:

levels(data$Days)[levels(data$Days) == "Monday"] <- "Sunday"
levels(data$Days)[levels(data$Days) == "Wednesday"] <- "Tuesday"

如果您只想删除星期一和星期三的级别,请尝试:

data[!(data$Days %in% c("Monday", "Wednesday")), ]

推荐阅读