在R中取消过滤以更改数据帧中的变量

时间:2019-05-07 06:59:04

标签: r dplyr

我在调查中有一个开放式答案的数据集。我要根据人们对给定问题的回答的内容,将一系列主题分配给这些公开答案。

我想指定关键字并搜索与这些关键字(/字符串)匹配的特定变量(在这种情况下,变量是一个问题)。重要的是,这些字符串只能部分匹配响应,我只是指定将出现在字符串中某些位置的关键字。例如,在对给定问题的回答中,在某些时候使用“金钱”一词的回答过滤掉。给定匹配的行,我想在新变量中为这些行分配一个“ 1”,我们称之为“ Topic1”。

我有此代码:

df %>% 
  filter(str_detect(var, "money|cash|revenue|profit")) %>% 
  mutate(Topic1 = "1")

此代码可以根据我指定的条件很好地过滤和创建新变量。但是,如果我将其分配回数据框,则现在已根据我的过滤器对整个数据框进行了子集化。我想用提供的关键字过滤行,创建新变量,然后“取消过滤”数据框,然后将结果分配回df。

我想知道是否有一个“ unfilter”可用于重新选择所有数据。还是ifelse有更好的解决方案?

0 个答案:

没有答案