如何在r中创建一个基于字符串变量的二项式变量的新列?

时间:2018-03-27 04:17:34

标签: r dataframe dplyr

我目前正在尝试使用mutate()基于另一列在我的数据框中创建一个新列。

我想根据基于它的列是否为“活动”来使新列成为二项式变量(1或0)。我现在正试着这样说:

violations$outcome = if (violations$RESULT == "Active") { 1 } else { 0 }

目前产生“警告信息: 在if(违反$ RESULT ==“Active Rat Signs”){:   条件的长度> 1,只使用第一个元素“我查看我的新数据框,每个violations$outcome为0。

有没有人知道如何做到这一点以及为什么我原来的答案不起作用?这非常令人沮丧,我将不胜感激任何评论,建议或帮助。谢谢。

1 个答案:

答案 0 :(得分:2)

R有一个名为ifelse

的便捷功能

试试violations$outcome = ifelse(violations$RESULT == 'Active', 1, 0)。第一个参数是您正在测试的条件,第二个参数是如果它是TRUE则返回的内容,第三个参数是如果它是FALSE则返回的内容。