1. ホーム
  2. r

[解決済み] データフレーム列の名前によるドロップ

2022-03-19 08:40:05

質問

データフレームから削除したい列がいくつもあります。このような方法で個別に削除できることは知っています。

df$x <- NULL

でも、もっと少ないコマンドでやりたかったんです。

また、このように整数インデックスを使ってカラムを落とせることは知っています。

df <- df[ -c(1, 3:6, 12) ]

しかし、変数の相対的な位置が変わってしまうことが心配です。

Rの強力さを考えると、各列を1つずつ落とすよりも良い方法があるかもしれないと思いました。

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

また subset コマンドは、必要なカラムがわかっている場合に便利です。

df <- data.frame(a = 1:10, b = 2:11, c = 3:12)
df <- subset(df, select = c(a, c))

hadley さんのコメントで更新しました。への ドロップ の列は、a,cとすることができます。

df <- subset(df, select = -c(a, c))