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