1. ホーム
  2. r

[解決済み] R dplyr: 複数列のドロップ

2022-09-12 14:24:25

質問

データフレームと、そのデータフレーム内のカラムのリストがあり、それをドロップしたい。ここでは iris データセットを例にしてみましょう。削除したいのは Sepal.LengthSepal.Width を追加し、残りのカラムのみを使用します。どうすれば select または select_ から dplyr パッケージの中にあるのでしょうか?

今まで試したのはこんな感じです。

drop.cols <- c('Sepal.Length', 'Sepal.Width')
iris %>% select(-drop.cols)

-drop.cols のエラー : 単項演算子への引数が無効です。

iris %>% select_(.dots = -drop.cols)

<ブロッククオート

-drop.cols のエラー : 単項演算子への引数が無効です。

iris %>% select(!drop.cols)

<ブロッククオート

drop.colsでエラー:無効な引数タイプです。

iris %>% select_(.dots = !drop.cols)

<ブロッククオート

drop.colsでエラー:無効な引数タイプです。

これらはすでに存在するはずのかなり便利な操作のように思えるので、何か明らかなものを見逃しているような気がします。Github では、誰かが に似たような問題があります。 で、Hadleyは'negative indexing'を使用するように言いました。それは私が試した(と思う)ものですが、無駄でした。何か提案はありますか?

どのように解決するのですか?

select_varsのヘルプを確認してください。これは、これをどのように扱うかについて、いくつかの特別なアイデアを与えてくれます。

あなたの場合

iris %>% select(-one_of(drop.cols))