我有以下数据帧
amount <- c(10,12,14)
description <- c("bankafschrift", "ABN", "albert heijn")
df <- data.frame(description, amount)
head(df)
description amount
1 bankafschrift 10
2 ABN 12
3 albert heijn 14现在,我想做一个小的文本挖掘,我根据描述中的单词指定一个帖子给行。所以一个包含:"bankafschrift“的描述我想声明为"Bank”。我知道如何获得true/false值,如下所示:
df$post <- grepl('A这给了我:
description amount post
1 bankafschrift 10 FALSE
2 ABN 12 TRUE
3 albert heijn 14 FALSE 但我希望帖子上写的是“食品杂货”,以防grepl的说法属实。对如何做到这一点有什么建议吗?
最重要的是:
如果我想要更多的项目来确定帖子,我该如何使用列表?
如果这样做:
bank_items <- c("Bank", "ABN")
f$post <- grepl(bank_items,df$description)它给出了以下错误:
Warning message:
In grepl(bank_items, df$description) :
argument 'pattern' has length > 1 and only the first element will be used发布于 2015-11-20 21:10:23
我们可以一起paste 'bank_items‘,并将其用作grepl中的pattern。
i1 <- grepl(paste(bank_items, collapse='|'), df$description)
ifelse(i1, 'Bank cost', 'Not Bank cost')https://stackoverflow.com/questions/33827456
复制相似问题