dplyr,根据是否存在或另一列中的文本创建一个列

时间:2016-05-27 19:51:42

标签: r dplyr

我使用dplyr。我想基于另一个名为description的列创建一个名为“疾病”的新列,其中包含是或否。如果描述为NA,则新列中的值应为“N”,如果描述中现在有任何文本,则新列中的值应为“Y”。我尝试了以下代码:

data%>%
 mutate(disease= ifelse( is.na(Description)),"N", "Y")

2 个答案:

答案 0 :(得分:2)

使用data.table

有一个非常简单的解决方案
library(data.table)

setDT(data)[, disease := ifelse( is.na(cyl), "N", "Y")]

答案 1 :(得分:1)

我们可以使用base R来执行此操作

transform(data, disease = c("Y", "N")[is.na(cyl)+1])