簡體   English   中英

dplyr filter_不返回數據

[英]dplyr filter_ not returning data

我有一個“ d”數據框,我想動態過濾。我想過濾“ g”列以觀察“ C”。 知道如何使其工作嗎?

d =data.frame(g = c("C","A"))
library(dplyr)
 groups= c("g")
 filter=c("C","A")
 i=1
 d %>% dplyr::filter_(paste0( groups[i],"==",filter[i]))

我們可以使用sym轉換為符號並用!!求值!!

library(dplyr)
d %>% 
  filter(!! rlang::sym(groups) == filter[i])
#  g
#1 C

如果我們要傳遞表達式,那么使用quotequo容易

g1 <- quo(g == "C")
d %>%
  filter(!! g1)
#  g
#1 C

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM