我有一個帶有“等級”列的資料框,它可以是“差”、“中等”、“好”或“非常好”,我想要所有匹配“好”或“非常好”的行,所以我嘗試df[df$grade==".*good"]但無濟于事。
我究竟做錯了什么?
uj5u.com熱心網友回復:
正如 Wimpel 評論的那樣,您應該使用grepl()which uses regular expressions (regex) 來查找字串向量中的模式。對于你的情況,
df[grepl('.*good', df$grade), ]
將向您顯示您要求的資料框的行。
uj5u.com熱心網友回復:
library(tidyverse)
df <- tibble(
grade = sample(c("bad", "moderate", "good", "very good"), 20, replace = TRUE)
)
df %>%
filter(str_detect(grade, "good"))
# A tibble: 9 × 1
grade
<chr>
1 very good
2 good
3 very good
4 very good
5 very good
6 good
7 good
8 very good
9 very good
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/533762.html
標籤:r正则表达式子串
