r - 在 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 并且只使用第一个元素
解决方案
您看到的错误与if
语句未向量化有关,因此 R 告诉您仅使用向量的第一个元素。尝试使用ifelse
矢量化解决方案:
od$Survive1 <- ifelse(od$Survive == "Y", 1, 0)
您也可以只分配给布尔表达式:
od$Survive1 <- od$Survive == "Y"