[解決済み] 大量のdata.frameをマージする[重複]。
2023-06-18 08:58:17
質問
重複の可能性があります。
リスト内の複数のデータフレームを同時にマージする
例
data.frames
:
df1 = data.frame(id=c('1','73','2','10','43'),v1=c(1,2,3,4,5)) <br>
df2 = data.frame(id=c('7','23','57','2','62','96'),v2=c(1,2,3,4,5,6)) <br>
df3 = data.frame(id=c('23','62'),v3=c(1,2)) <br>
注
id
はそれぞれのdata.frameで一意です。結果の行列を次のようにしたい
1 1 NA NA
2 3 4 NA
7 NA 1 NA
10 4 NA NA
23 NA 2 1
43 5 NA NA
57 NA 3 NA
62 NA 5 2
73 2 NA NA
96 NA 6 NA
この場合、私は3つのデータセットしか表示しませんが、実際には少なくとも22のデータセットがあるので、最終的にはnx(22+1)の行列が必要です(nは22のデータセットすべてのIDの数)。
2つのデータセットがあるとして、それらの
ids
を最初の列に、2番目と3番目の列は値で埋められ、値が存在しない場合は、入力
NA
を入力します。
どのように解決するのですか?
の中に入れてください。
list
を使用し
merge
と
Reduce
Reduce(function(x, y) merge(x, y, all=TRUE), list(df1, df2, df3))
# id v1 v2 v3
# 1 1 1 NA NA
# 2 10 4 NA NA
# 3 2 3 4 NA
# 4 43 5 NA NA
# 5 73 2 NA NA
# 6 23 NA 2 1
# 7 57 NA 3 NA
# 8 62 NA 5 2
# 9 7 NA 1 NA
# 10 96 NA 6 NA
また、より簡潔なこのバージョンも使用できます。
Reduce(function(...) merge(..., all=TRUE), list(df1, df2, df3))
関連
-
8.2 カマグラ(No.31〜No.40)
-
Rの警告 "条件の長さが1より大きいので、最初の要素しか使えない "に対する解決策
-
[解決済み] Pandas マージ入門
-
[解決済み] リストやデータフレームの要素にアクセスするためのブラケット[ ]とダブルブラケット[[ ]]の違いについて
-
[解決済み] ベクトル中のxの値を持つ要素の個数を数える
-
[解決済み] なぜ `[`] は `subset` よりも優れているのですか?
-
[解決済み] ベクトル中のある要素のインデックスを求めるR関数はありますか?
-
[解決済み】RでCRANミラーを選択する方法
-
[解決済み】自作関数を書くときにRの省略機能を使うには?
-
[解決済み】set.seed関数を使用する理由
最新
-
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" 問題を解決する。
-
[解決策】 plot.new() のエラー:図の余白が大きすぎる。
-
Rによる系統的クラスタリング(階層)分析のグラフ形式の完全版
-
[解決済み] Rの%*%の意味 [重複]について
-
[解決済み] HTML、PDF、DOCXで見栄えのするシンプルな手動のRMarkdownテーブル
-
[解決済み] R および RStudio のコンソールをクリアする関数
-
[解決済み] xkcd風のグラフを作るには?
-
[解決済み] Rでtrycatchの書き方
-
[解決済み】リスト内の複数のdata.frameを同時にマージする方法
-
[解決済み】私のggplot2構文が賢明であるときに、R CMDチェック「no visible binding for global variable」注記を処理するにはどうすればよいですか?