我遇到了麻煩……使用 R 腳本:
給定一個 tibble 和一個字符向量
tbEsempio <- tibble(C1 = c(100,150,200,343,563), C2 = c("A", "A&B", "D", "D$C", "E"))
vcValori <- c("A","B","C")
我需要在 C2 上使用 vcValori 向量中的值過濾 tbEsempio。
如果我%like%不使用矢量就可以了:
tbEsempioFiltered <- tbEsempio[which(tbEsempio$C2 %like% "A" |
tbEsempio$C2 %like% "B" |
tbEsempio$C2 %like% "C" )]
但是使用 vcValori 和%in%運算子代替%like%
tbEsempioFiltered <- tbEsempio %>% filter(C2 %in% {{vcValori}})
有 2 個(或更多)值以“&”分隔的行,在示例中為 2 和 4,不包括在內。
有使用 tidyverse 框架的解決方案嗎?
uj5u.com熱心網友回復:
你可以用
library(dplyr)
tbEsempio %>%
filter(grepl(paste(vcValori, collapse = "|"), C2))
這回傳
# A tibble: 3 x 2
C1 C2
<dbl> <chr>
1 100 A
2 150 A&B
3 343 D$C
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/324568.html
