从数值向量中获取类别 [英] Get categories from numeric vector

查看:60
本文介绍了从数值向量中获取类别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这个数值向量:

vec <- 1:7

如何使用这些逻辑规则将其转换为3类:

How can I transform it into 3 categories using these logical rules:

if(vec >= 1 && vec < 4) then "category1"

else if(vec >=4 && vec < 6) then "category2"

else if(vec >= 6 && vec < 8) then "category3"

预期结果将是:

result <- c("category1","category1","category1",
            "category2","category2",
            "category3","category3")

更新:

如果类别名称不是连续的(即cat1,cat2,cat3)怎么办?例如

What if category names are not sequential (i.e. cat1,cat2,cat3)? e.g.

if(vec >= 1 && vec < 4) then "night"

else if(vec >=4 && vec < 6) then "early morning"

else if(vec >= 6 && vec < 8) then "morning"


推荐答案

我建议 cut 及其 labels 变量

cut(vec, c(1, 3, 5, 8), include.lowest = TRUE, labels = paste0("category", 1:3))
# [1] category1 category1 category1 category2 category2 category3 category3
# Levels: category1 category2 category3

这篇关于从数值向量中获取类别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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