如果我不想在調用該函數之前指定列,我將如何創建一個函數來刪除列中的NA值?如何以編程方式過濾dplyr中的列?
minimal_case <- function(column_name = "a") {
enquo_name <- enquo(column_name)
example <- tibble(a = c(NA, 1))
print(filter(example, !is.na(a)))
print(filter(example, !is.na(rlang::UQ(enquo_name))))
}
第一個print語句的輸出是:
# A tibble: 1 x 1
a
<dbl>
1 1
第二print語句的輸出是:
# A tibble: 2 x 1
a
<dbl>
1 NA
2 1
我如何獲得的第二個print語句來匹配第一?
'函數(DF,X)DF [!is.na(DF [X]),]' –
如果您提供的字符串作爲列名,你正在使用標準評估,可以跳過整個tidyeval業務。 –