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