矢量化ifelse Rstudio

时间:2014-10-16 19:12:00

标签: r if-statement rstudio

编写矢量化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

1 个答案:

答案 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分配回数据框。