首页 > 解决方案 > 为给定的数值向量分配一个具有超过 2 个级别/标签的因子向量

问题描述

大家。我希望你能帮助我解决我的问题。对于表示苹果价格 ($) 的向量来说,

apple <- c(23, 26, 54, 34, 34, 34, 98, 23, 4, 34, 098, 45, 93, 20, 39, 83, 78, 34, 09, 8, 56, 98, 99, 62, 29)

如果苹果价格低于 50 美元,我可以分配一个因子向量来表示它是否“便宜”,如果苹果价格高于或等于 50 美元,它是否“昂贵”。例如,因子变量可以很容易地分配为:

price <- factor(apple>50, labels = c("cheap", "expensive"))

但是,我对分配一个具有三个价格水平的因子变量一无所知,即便宜、适中和昂贵,例如,如果苹果价格在 30 美元到 40 美元之间,那么它们的价格适中。谢谢

标签: rrefactoringrecode

解决方案


我们可以使用cut

 cut(apple, breaks = c(0, 30, 40, Inf), labels = c("Cheap", "Moderate", "Expensive"))
#>  [1] Cheap     Cheap     Expensive Moderate  Moderate  Moderate  Expensive Cheap    
#>  [9] Cheap     Moderate  Expensive Expensive Expensive Cheap     Moderate  Expensive
#> [17] Expensive Moderate  Cheap     Cheap     Expensive Expensive Expensive Expensive
#> [25] Cheap    
#> Levels: Cheap Moderate Expensive

推荐阅读