【发布时间】:2020-07-03 19:48:38
【问题描述】:
我想在我的数据集中创建一个新列,其中包含基于学生在测试中的成绩的熟练程度。因此,如果学生的成绩在 0 到 10 之间,则分配给他们的级别应该是 A1,如果年级在 11 和 16 之间,则分配给他们的级别应该是 A2,依此类推。如何在 R 中编写代码?我试过下面的代码。新列已创建,但仅包含级别 A1。所以,条件不成立。谁能帮我解决这个问题?
data$CatEnglishTest=as.factor(ifelse(data$EnglishTestGrade %in%
data$EnglishTestGrade<=10,'A1',
ifelse(data$EnglishTestGrade %in% data$EnglishTestGrade > 10
&& data$EnglishTestGrade < 15,'A2',
as.character(data$EnglishTestGrade))))
【问题讨论】:
-
这可能与
data$EnglishTestGrade<=10有关。如果你能做到这一点以及像data[data$EnglishTestGrade <= 10,]$Grade这样的其他条件,它应该可以工作。 -
在这段代码的哪里添加“A1”、“A2”等级别?
-
你能发一个minimal reproducible example。这肯定有助于回答。
-
我做了一个小例子并展示了如何使用代码,请参阅下面的答案。
标签: r