2
我正在尋找一種方法來連接一個結果和一個字符串,其結果是一個平靜。其實,如果我使用paste0()
和quo_name()
,我可以做到。但我想知道是否有更優雅的替代方案在我的包中編寫函數。這是一個普通的例子:concatenate quosures和字符串
library(dplyr)
df <- data_frame(
z_1 = 1,
z_2 = 2,
y_1 = 10,
y_2 = 20
)
get_var <- function(.data, var) {
xx = enquo(var)
select(.data, paste0(quo_name(xx), "_1"), paste0(quo_name(xx), "_2"))
}
get_var(df, z)
# A tibble: 1 x 2
z_1 z_2
<dbl> <dbl>
1 1 2
如果你可以通過一個變量名到你的選擇,我會給予好評。 'starts_with'是我使用的方法 – CPak
@我知道。所以你希望能夠傳遞變量本身,而不是像「z」那樣的字符串?例如,'get_var(df,「z」)'不會令人滿意嗎? – useR
我不是OP順便說一句。基本上,OP想要定義一個函數,其中數據框和列到選擇是作爲參數動態傳遞的。 – CPak