错误:条件的长度> 1,r中只使用第一个元素

时间:2015-04-19 21:43:19

标签: r

我看过,但我不明白为什么我会收到这个错误。我想根据CN列中的整数值在CNSTATUS中分配一个数字 如果小于10,则CNSTATUS应为10,如果介于10和20之间,CNSTATUS应为2,如果超过20则应为3

CN是一个整数列

我的数据框

CN       CNSTATUS
 2          
 12
 43
  2
  4

我的代码:

 if(OCCAMSdbTumCN$CN < 10) {
  OCCAMSdbTumCN$CNSTATUS <- 1
 }
 else if(OCCAMSdbTumCN$CN > 10 & OCCAMSdbTumCN$CN<20) {
   OCCAMSdbTumCN$CNSTATUS <- 2
 }
 else{
 OCCAMSdbTumCN$CNSTATUS <- 2}


 The error I am getting is

In if (OCCAMSdbTumCN$CN < 10) { :
  the condition has length > 1 and only the first element will be used

1 个答案:

答案 0 :(得分:2)

你会想要这样的东西:

OCCAMSdbTumCN$CSTATUS <- ifelse(OCCAMSdbTumCN$CN < 10, 1, ifelse(OCCAMSdbTumCN$CN >= 10 & OCCAMSdbTumCN$CN < 20, 2, 3))

使用等于或大于或等于您需要的游戏。请注意,在您的示例中,案例10和20不会被捕获,直到结束。