从具有值P或F的列State的给定数据框中,我尝试创建另一个列State1,其值为1或0,具体取决于State是P还是F. 以下是我写的代码
for(i in 1:nrow(df)){
if (df$State(i)==P) {df$State1(i)<- 1}
else {df$State1(i) <- 0}
}
但是我一直收到错误&#34;尝试应用非功能&#34;。我的代码看起来很简单,我不知道为什么我得到非函数错误。 请帮忙 谢谢 KS
答案 0 :(得分:1)
您的语法不正确。应该是:
for(i in 1:nrow(df)){
if (df$State[i]=="P") {df$State1[i] <- 1}
else {df$State1[i] <- 0}
}
答案 1 :(得分:0)
Fridolin Linder提供了正确的语法。您也可以使用矢量化的ifelse函数使用更短的命令来执行此操作
df$State1 <- ifelse(df$State == "P", 1, 0)