我想在R:
中写这样的东西If (df$age<5) {df$child=1}
else {df$child=NA}
但它不适合我。
你可以纠正吗?
答案 0 :(得分:3)
您必须将if的结束}
放在与下一个else
相同的行上,所以请尝试这样:
child <- NA
If (age<5) child <- 1
由于您正在使用向量,因此最好使用ifelse
:
df$child <- ifelse(df$age < 5, 1, NA)
或更好(语法糖)使用ifelse
与transform
:
transform(df,child = ifelse(age<5, 1 ,NA))
答案 1 :(得分:1)
if
,else
无法使用向量。您应该使用ifelse
:
df$child <- ifelse(df$age<5, 1 ,NA)
如果你带有标量的dela,这里有写if
的R方式,else
语句:
age <- 2
x <- if(age<5) 1 else NA