小编cli*_*226的帖子

应用 if else 条件在 r 中创建新列

我想使用 if else 语句根据另一列中的数据在我的数据框中创建一个新列。我已经看过一些先前的文章(例如这个这个),但似乎做错了一些事情,因为我要么收到错误,要么没有新的专栏。

我尝试过制作 ifelse 函数:

  if(x >= 4000)
{print (">4000")
  } else if (x >=3000 & x <= 4000) 
    {print ("3000-4000")
    } else if  (x >=2000 & x <= 3000) 
    {print("2000-3000")
      } else if (x >=1000 & x <= 2000)
      {print("1000-2000")
      } else print ("<1000")}
Run Code Online (Sandbox Code Playgroud)

这个函数可以工作/运行,但我不知道如何将它应用到我的数据框中的一列(我已经尝试过这个,dat$P.bins <- Bins(dat$Pcol)但出现以下错误:条件的长度> 1,并且仅使用第一个元素1 ” >4000"

我还尝试运行 ifelse 语句:

dat$P.bin<- ifelse(P.col>=4000, ">4000",
                                ifelse(P.col <=4000 & >= 3000, "3000-4000"),
                                ifelse(P.col<=3000 & >= 2000, "2000-3000"), 
                                ifelse(P.col <=2000 & …
Run Code Online (Sandbox Code Playgroud)

if-statement nested r dplyr

2
推荐指数
1
解决办法
2914
查看次数

标签 统计

dplyr ×1

if-statement ×1

nested ×1

r ×1