为给定的数值向量分配一个具有 2 个以上级别/标签的因子向量 [英] Assign a factor vector with more than 2 levels/labels for a given numeric numeric vector

查看:43
本文介绍了为给定的数值向量分配一个具有 2 个以上级别/标签的因子向量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

everybody. I hope that you would help me to solve my query. For a vector representing the price ($) of apples say,

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 美元,则表示它是否昂贵".例如,因子变量可以很容易地赋值为:

I can assign a factor vector that represents whether it is "cheap" if apples cost less than $50 and "expensive" if apple cost more than or equal to $50. For instance, the factor variable could easily be assigned as:

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

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

However, I am clueless of assigning a factor variable with three levels of price say cheap, moderate, and expensive, say when apples are said to be of a moderate price if they cost between $30 and $40. Thank you

推荐答案

我们可以使用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

这篇关于为给定的数值向量分配一个具有 2 个以上级别/标签的因子向量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆