在 R 中对数值进行分类

问题描述

我试图找出一种更简单的方法来对 R 中的数值变量进行分类。我一直在使用逻辑子集,但似乎应该有一种方法可以用更少的代码来做到这一点。这是我所做的一个示例 - 尝试根据 1-500 的分数为项目分配 1-5 的等级。

制作一个带有分数的数据框:

set.seed(123)
df <- data.frame(score = sample(1:500,6,replace = FALSE),Color = c("Red","Orange","Yellow","Green","Blue","Purple"))

创建子集向量:

sub1 <- df$score <= 100
sub2 <- df$score > 100 & df$score <= 200
sub3 <- df$score > 200 & df$score <= 300
sub4 <- df$score > 300 & df$score <= 400
sub5 <- df$score > 400 & df$score <= 500

使用子集向量将等级值分配给新的等级变量:

df$Rank[sub1] <- 1
df$Rank[sub2] <- 2
df$Rank[sub3] <- 3
df$Rank[sub4] <- 4
df$Rank[sub5] <- 5

这段代码已经完成了我想要的;我正在努力使用 if 语句来尝试完成这项工作。有没有人对其他一些功能有建议,可以让它更干净一点?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)