我看过,但我不明白为什么我会收到这个错误。我想根据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
答案 0 :(得分:2)
你会想要这样的东西:
OCCAMSdbTumCN$CSTATUS <- ifelse(OCCAMSdbTumCN$CN < 10, 1, ifelse(OCCAMSdbTumCN$CN >= 10 & OCCAMSdbTumCN$CN < 20, 2, 3))
使用等于或大于或等于您需要的游戏。请注意,在您的示例中,案例10和20不会被捕获,直到结束。