因此,我试图找出如何从数据学院中获取列 Grad.Cat 并将其分类为高值还是低值。但是,我不想在数据框中的同一列中将值更改为“高”和“低”,而是想创建一个新的数据列,称为“ highlow ”。
如何使用以下代码进行操作,而是创建一个包含这些值的新数据列,而不会覆盖现有数据。
College$Grad.Cat <- "low"
College$Grad.Cat[College$Grad.Rate>60] <- "high"
College$Grad.Cat <- factor(College$Grad.Cat, levels = c("low","high"))
谢谢!
答案 0 :(得分:2)
一个选项是case_when
library(tidyverse)
College <- College %>%
mutate(Grad.Cat = factor(case_when(Grad.Rate > 60 ~ "high",
TRUE ~ "low")))
或与base R
College$Grad.Cat <- factor(c("low", "high")[1 + (College$Grad.Rate > 60)])