计算列中包含特定字符串的单元格数(在 R 中)

Counting the number of cells in a column that contain a specific string (in R)

我在 R 中有一个数据框。我想计算列中包含特定字符串的单元格的数量。

使用下面的示例数据,我想计算列 a 中有多少个单元格包含字符串“purple”。 (2)

我想象的是这样的:sum(df$a %contains% "purple")

a <- c("red, white", "white", "blue, purple", "purple")
b <- c("white", "white, yellow", "purple", "purple, blue, yellow")
df <- data.table(a, b)

你可以用 str_count

sum(stringr::str_count(df$a, pattern = "purple"))

使用grepl(仅当每个字符串出现不超过一次时才有效):

sum(grepl("purple", a))
# [1] 2