[解決済み] データフレーム内の列を名前でドロップする方法
2022-03-16 08:19:19
質問
大きなデータセットがあり、特定の列を読むか、他の列をすべて削除したいのですが。
data <- read.dta("file.dta")
興味のない列を選択しています。
var.out <- names(data)[!names(data) %in% c("iden", "name", "x_serv", "m_serv")]
というようなことをしたいと思います。
for(i in 1:length(var.out)) {
paste("data$", var.out[i], sep="") <- NULL
}
で不要な列をすべて削除します。これが最適解なのでしょうか?
どのように解決するのですか?
インデックスを作成するか
subset
関数を使用します。例えば.
R> df <- data.frame(x=1:5, y=2:6, z=3:7, u=4:8)
R> df
x y z u
1 1 2 3 4
2 2 3 4 5
3 3 4 5 6
4 4 5 6 7
5 5 6 7 8
そうすると
which
関数と
-
演算子を使用することで、列のインデックスを作成できます。
R> df[ , -which(names(df) %in% c("z","u"))]
x y
1 1 2
2 2 3
3 3 4
4 4 5
5 5 6
あるいは、もっとシンプルに
select
の引数を指定します。
subset
関数を使うことができます。
-
演算子を直接カラム名のベクトルに適用することもできますし、カラム名を囲む引用符を省略することもできます!
R> subset(df, select=-c(z,u))
x y
1 1 2
2 2 3
3 3 4
4 4 5
5 5 6
他の列を削除する代わりに、必要な列を選択することもできることに注意してください。
R> df[ , c("x","y")]
x y
1 1 2
2 2 3
3 3 4
4 4 5
5 5 6
R> subset(df, select=c(x,y))
x y
1 1 2
2 2 3
3 3 4
4 4 5
5 5 6
関連
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] 列の値に基づいてDataFrameから行を選択するにはどうすればよいですか?
-
[解決済み] Rの再現性のある優れた例題の作り方
-
[解決済み] Pandasのデータフレームで複数の列を選択する
-
[解決済み] データフレームを結合(マージ)する方法(内側、外側、左側、右側)
-
[解決済み] データフレームの行を複数の列でソート(並び替え)する。
-
[解決済み] データフレーム列の名前によるドロップ
-
[解決済み] 統計的最頻値の求め方は?
-
[解決済み】data.table vs dplyr:一方がうまくできない、またはうまくできないことを行うことができますか?
-
[解決済み】サブセットされたデータフレーム内の未使用の因子レベルを削除する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
RStudio の "plot.new() : figure margins too large" 問題を解決する。
-
R: hclust(d, method = method)でのエラー : 外部関数呼び出しは NA/NaN/Inf(arg10) を持つことができません。
-
Rでエラー:単項演算子への引数が無効
-
R read.table Error:埋め込まれたヌルが含まれているようです。
-
[解決済み] データフレーム列の名前によるドロップ
-
[解決済み] リストをデータフレームに変換する
-
[解決済み] なぜ `[`] は `subset` よりも優れているのですか?
-
[解決済み] 不足しているパッケージをチェックし、インストールするためのエレガントな方法?
-
[解決済み】ggplot2で軸のタイトルやラベルの大きさを変更する。
-
[解決済み】自作関数を書くときにRの省略機能を使うには?