注释

2017-01-16 70 views
0

我有一个字符串每一行中这样的数据帧:注释

col_name 
col_string 
It is a rainy day 
Daily exercise 
My name is 
Hello 

我想利用这个规则

day <- c("day", "daily") 
    name <- c("name") 

标注我的数据集,并有一个最终输出(基于前几组的第二列):

col_string, col_annotated 
It is a rainy day, day 
Daily exercise, day 
My name is, name 
Hello, NA 

是否可以做到这一点?

回答

0
d <- data.frame(col_string = c('It is a rainy day', 
           'Daily exercise', 
           'My name is', 
           'Hello')) 


d$col_annotated <- ifelse(grepl('day', d$col_string, T) | grepl('daily', d$col_string, T), 'day', 
          ifelse(grepl('name', d$col_string, T), 'name', NA)) 

d 
##   col_string col_annotated 
## 1 It is a rainy day   day 
## 2 Daily exercise   day 
## 3  My name is   name 
## 4    Hello   <NA> 
1
library(dplyr) 

df %>% 
    mutate(col_annotated = case_when(grepl("day", .$col_string, T) ~ "day", 
            grepl("name", .$col_string, T) ~ "name"))