矢量化ifelse-Rstudio

矢量化ifelse-Rstudio,r,if-statement,rstudio,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) ) 正如@BondedDust所指出的,这篇文章中没有包含错误消息,这会很有帮助。但是从代码中重现这个错误并不困

写一个向量化的
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)  )

正如@BondedDust所指出的,这篇文章中没有包含错误消息,这会很有帮助。但是从代码中重现这个错误并不困难

错误是ifelse(gender=“F”,1,0)中的
错误:未使用的参数(gender=“F”)

错误消息中的“未使用参数”来自R未在其环境中的任何位置找到
gender
,因为未调用它所在的
heights
数据帧,如
heights$gender
中所述

但正如@Richard_Scriven指出的,条件也没有正确使用。应该是
=
而不是
=


最后,在
if
ifelse
语句中,使用
y
而不是
heights$y

=
替换为
=
,将新的var分配回数据帧不是地址<代码>=
是用于逻辑检查精确等式的工具。我同意应该关闭它。我想知道这是否是关于
if(){}else{}
ifelse
的新问题。几乎有4000个If else问题。这是一个低质量的语句,因为它没有包含实际的错误消息。如果您曾经使用
else If
您可能还应该使用
else
作为最后一个语句。错误消息中的“未使用的参数”来自R在其环境中的任何地方都找不到性别。。。这是不对的。R正在
ifelse
中查找参数
gender
,由于
ifelse
没有
gender
参数,因此会触发错误。它没有查看函数参数列表之外的内容。
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