需要使用mutate和if创建将数据转换为facor级别的新列

需要使用mutate和if创建将数据转换为facor级别的新列,r,if-statement,mutate,R,If Statement,Mutate,cell.data%mutateAverage.factor=ifelsecell.data$OverageFee==0 | cell.data$OverageFee5.0 | cell.data$OverageFee10.0 | cell.data$OverageFee您的代码有几个问题。没有数据,我无法测试它。您可能想尝试以下方法: cell.data <- cell.data%>% mutate(Overage.factor=case_when( (OverageF

cell.data%mutateAverage.factor=ifelsecell.data$OverageFee==0 | cell.data$OverageFee5.0 | cell.data$OverageFee10.0 | cell.data$OverageFee您的代码有几个问题。没有数据,我无法测试它。您可能想尝试以下方法:

cell.data <- cell.data%>%
  mutate(Overage.factor=case_when(
    (OverageFee>=0 & OverageFee<=5.0) ~ "Overage<5",
    (OverageFee>5.0 & OverageFee<=10.0) ~ "ovearge<10",
    (OverageFee>10.0 & OverageFee<=15.0) ~ "overage>10",
    TRUE ~"overage>15"))

有一个特殊的功能,这将使这项工作更容易!请参阅dplyr::case_

以下是一个例子:

library(tidyverse)

values <- sample(1:99,10)

case_when(values <= 59 ~ 10,
          values == 60 ~ 60,
          values >= 61 ~ 99)

祝你好运

如果你想让你的新变量的值超过Hanks..它起作用了..但是为什么iflese不起作用..因为在你的代码中使用|的逻辑。>5 |