编写矢量化ifelse()
我正在尝试创建并将新变量分配回数据框。
set.seed(1)
heights <- data.frame(
height_ft = sample( seq(from=5.5, to=6.1, length=10) , 50, replace=T),
gender = sample(c("M","F"),50, replace=T) )
以下是我的尝试:
y = ifelse(gender = "F", 1,0)
##ERROR
if (gender = "F" & under_rep = 1){ print ("1") }
else if (gender = "F" & under_rep = 0) { print ("0") }
##ERROR
答案 0 :(得分:1)
正如@BondedDust指出的那样,帖子中没有包含错误消息,这本来是有帮助的。但是从代码中重现这个错误并不难。
错误为Error in ifelse(gender = "F", 1, 0) : unused argument (gender = "F")
。
&#34;未使用的参数&#34;错误消息来自R未在其环境中的任何位置找到gender
,因为它所在的heights
数据框未被调用,如heights$gender
中所示。
但正如@Richard_Scriven指出的那样,条件也没有正确使用。应该是==
而不是=
。
最后,使用y
代替heights$y
,不会将新的var分配回数据框。