[解決済み】データフレームから数値列のみを選択する方法
2022-04-07 13:04:47
質問
このようなdata.frameがあったとします。
x <- data.frame(v1=1:20,v2=1:20,v3=1:20,v4=letters[1:20])
xの列のうち、数値のものだけを選択するにはどうしたらよいでしょうか。
どのように解決するのですか?
EDIT: 不用意な使用を避けるために更新されました。
sapply
.
データフレームはリストなので、list-apply 関数を使うことができます。
nums <- unlist(lapply(x, is.numeric))
次に標準的なサブセット
x[ , nums]
## don't use sapply, even though it's less code
## nums <- sapply(x, is.numeric)
よりイディオムなモダンRのために、私は今、次のことをお勧めします。
x[ , purrr::map_lgl(x, is.numeric)]
コード化されておらず、R特有の癖も反映されておらず、よりストレートで、データベースバックエンドのティブルに使用するのに堅牢です。
dplyr::select_if(x, is.numeric)
dplyrの新しいバージョンでは、以下の構文もサポートしています。
x %>% dplyr::select(where(is.numeric))
関連
-
[解決済み] データフレームを結合(マージ)する方法(内側、外側、左側、右側)
-
[解決済み] データフレームの行を複数の列でソート(並び替え)する。
-
[解決済み] データフレーム列の名前によるドロップ
-
[解決済み] リストをデータフレームに変換する
-
[解決済み] データフレーム内の列を名前でドロップする方法
-
[解決済み] [Solved] data.frameで全てまたは一部のNA(欠損値)を含む行を削除する。
-
[解決済み】データフレームから特定の列を抽出する
-
[解決済み】data.frameのカラムを因子から文字に変換する
-
[解決済み】データフレームの文字列カラムを複数カラムに分割する
-
[解決済み] data.table内の複数の列を数値インデックスで選択する。
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 不適合な配列のコードエラー
-
[解決済み】数学関数への非数値引数
-
[解決済み] テスト
-
[解決済み】Rでの関数の最適化(L-BFGS-Bでは'fn'に有限の値が必要)。
-
[解決済み】reshape2 meltの警告メッセージ
-
[解決済み】R ggplot2 で scale_x_discrete を使用する。
-
[解決済み】RでKNN。trainとclassは長さが違う」?
-
[解決済み】RでAIC中に行数が変化するのはなぜですか?そうならないようにするにはどうしたらいいですか?
-
[解決済み】Rはプロットするが、アブラインを描画しない
-
[解決済み】各グループの上位3要素を計算する際に「数値型、論理型、複合型でのみ可能な演算」を回避する方法