R - 数据名称中的行与符合多个条件之一的字符串模式相加

时间:2016-07-19 14:30:17

标签: r

我的数据结构如下所示。我想创建两个变量来计算包含满足多个条件之一的字符串的变量数。例如,df $ negative将是包含字符串模式c的客户变量的rowum(" No"," Did Not")和df $ positive将是客户变量的rowsum包含至少一个字符串模式c(" Rent"," Selected")

               Customer 3               Customer 4               Customer 5
1                    <NA>   Showed - Did not select                   No fit
2       Showed - Selected                      <NA>                    <NA>
3                    <NA>                    Rented                    <NA>
4                    <NA>                     <NA>                   No fit

所以df $ negative和第1行的df $ positive分别为2和0。

提前致谢!

1 个答案:

答案 0 :(得分:0)

你可以尝试,

rowSums(sapply(df, function(i) grepl(tolower('No|Did Not'), tolower(i))))
#[1] 2 0 0 1

#and similarly for positive

rowSums(sapply(df, function(i) grepl(tolower('Rent|Selected'), tolower(i))))
#[1] 0 1 1 0