【发布时间】:2014-12-17 06:40:56
【问题描述】:
我想根据预先存在的变量中的多个条件在我的数据框中插入一个新变量我的数据集中已经有一个变量(数据集-Maj2014),“SiteID”,它是一个包含站点的变量名称(例如 MA1、MA2...等),我希望使用此信息创建一个新变量“OuterOrLagoon”,该变量基于站点名称并将站点分配为“Lagoon”(即泻湖内的站点) 或“外层”(即外礁上的一个地点)。
到目前为止,我已经创建了新变量并用 NA 填充它
Maj2014["OuterOrLagoon"] <- NA
并创建了以下代码以尝试使用“if else”功能来解决问题
Maj2014$OuterOrLagoon <- ifelse(Maj2014$SiteID == MA1|MA2|MA5|MA6|MA9|MA13, "Outer",
ifelse(Maj2014$SiteID == MA3|MA7|MA8|MA10|MA15, "Lagoon"))
但是它返回以下错误
Error in ifelse(Maj2014$SiteID == MA1 | MA2 | MA5 | MA6 | MA9 | MA13, :
object 'MA1' not found
所以基本上在我的新变量“OuterOrLagoon”中,我想调用 SiteID 为 MA1、MA2、MA5、MA6、MA9 和 MA13 -“Outer”的任何行以及 MA3、MA7、MA8、MA10 和 MA15 的行- “泻湖”。
所以第一个问题是,“我试图用来解决这个问题的方法和代码是否正确?” 接下来是“如果正确,我该如何修复错误?”
我意识到这可能是一个相对简单的问题,但如果有人能帮忙,那就太好了!
谢谢你,
泰森
【问题讨论】:
标签: r if-statement conditional-statements