首页 > 解决方案 > 在 R 中使用 IF 语句

问题描述

我是 R 的新手。我想做一些类似的事情:

if Survive="Y" then Survive1=1 in my dataframe named "od" 但是,我的代码有问题。这是我目前拥有的

od$Survive <- c(0)
if(od$Survive=="Y"){
  od$Survive1=1
}

我不断收到此警告:

警告消息:在 if (od$Survive == "Y") { 中:条件的长度 > 1 并且只使用第一个元素

标签: rif-statement

解决方案


您看到的错误与if语句未向量化有关,因此 R 告诉您仅使用向量的第一个元素。尝试使用ifelse矢量化解决方案:

od$Survive1 <- ifelse(od$Survive == "Y", 1, 0)

您也可以只分配给布尔表达式:

od$Survive1 <- od$Survive == "Y"

推荐阅读