...
引数dplyr
のスタイルを使用してユーザーが複数の列を削除できるようにするにはどうすればよいですか?dplyrドット引数を使用して列を除外します
など。
mydrop=function(x,...){function body}
mydrop(npk,N:K)
戻り値npk[,c("block","yield")]
。
...
引数はすべての?select_helpers
関数と互換性があることが重要であることに注意してください。
...
引数dplyr
のスタイルを使用してユーザーが複数の列を削除できるようにするにはどうすればよいですか?dplyrドット引数を使用して列を除外します
など。
mydrop=function(x,...){function body}
mydrop(npk,N:K)
戻り値npk[,c("block","yield")]
。
...
引数はすべての?select_helpers
関数と互換性があることが重要であることに注意してください。
を使用しますが、できるように使用することができ、dplyrスタイルの列選択のために要求されたOP(...)、いくつかのエラー処理も含まれます。
mydrop <- function(x,...){
try(
todrop <- x %>%
select(...) %>% names(.)
, silent = TRUE)
if(exists('todrop')){
x %>% select(setdiff(current_vars(), todrop))
}else x
}
おそらく、我々は
mydrop <- function(x,...){
nm <- list(...)
if(length(nm)>0) {
x %>%
select(-one_of(unlist(nm)))
} else x
}
mydrop(npk, "N", "K")
がN:K
ため@akrunと同様に再現可能な例
mydrop(mtcars, 'mpg', 'cyl')
mydrop(mtcars)
mydrop(mtcars, names(mtcars)[-1])
mydrop(mtcars, names(mtcars))
one_ofは正確に何をしますか? ?one_ofは "one_of(...、vars = current_vars())"としか言いません。 –
@DougFir '?select_helpers'によると、one_of()は文字ベクトルの変数です。 – akrun
したがって、リスト内の変数の1つをランダムに選択して選択しますか? –
%x%>% select_if(!names(。)%%(select(x、...))) – akrun