我有以下数据集:
df <- data.frame(a = c("T", "F", "T"), b = c("USA", "SIG", "FRA"))
我想过滤掉a
列值为F
的子集。我试过了:
library(dplyr)
library(stringr)
df %>%
filter(str_detect(a, "F"))
但我得到了Error in stri_detect_regex(string, pattern, opts_regex = opts(pattern)) : object 'a' not found
。
有人可以帮忙解释一下吗?
答案 0 :(得分:4)
首先,在提供使用的示例代码方面做得很好,给出了错误和正确的格式。希望我能给你一些徽章。
您的代码是正确的。您没有执行整个代码块,因此您会收到该错误。您可能正在运行旧版本的R / RStudio,因为在最近的版本中,crtl+enter
命令上的filter
将执行整个代码块。在旧版本中,它不会以这种方式运行。
选择输入代码块并运行它或将代码放在一行:
df %>%filter(str_detect(a, "F"))