R-基于两个条件的将字符串添加到新列的最佳方法

时间:2019-05-07 21:56:42

标签: r if-statement

我需要帮助确定R中的一种有效方法,该方法是在测试以确定两列中是否存在特定字符串之后,有条件地将值有条件地分配给数据矩阵中的新列。我正在使用R Studio进行这些操作(我将根据R的“工作知识”来表征我的技能)。

我尝试了一系列冗长的if()else()语句,每个语句包含两个条件。不幸的是,R Studio中的结果是“有[x个]警告(请使用warnings()...”或“ ...条件的长度> 1,并且仅将使用第一个元素。”)找不到我自己的解决方案(或在阅读了表达类似问题的各种论坛帖子后)。

我的数据矩阵在R Studio控制台中如下所示:

enter image description here

我想添加一个名为“ Tag”的新示例列,因此我尝试了以下操作:

>exampleTable["Tag"] <- if(exampleTable$Subject == "Subject 1" & exampleTable$Author = "Eminem"){"Tag 1"} else if (exampleTable$Subject == "Subject 1" & exampleTable$Author = "Freddie Mac"){"Tag 2"}

理想地,一个可行的解决方案将成功测试“主题”和“作者”列中特定字符串的存在,结果将是新的“标签”列以及我们想要添加的任何新字符串,例如“标签” 1”,“代码2”等

我知道上面的示例不起作用,那么有什么更好的方法呢?谢谢!

1 个答案:

答案 0 :(得分:0)

根据r2evans和coffeinjunky的评论,ifelse()产生了我需要的结果。