トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン 印刷

coalesce

auditR

データフレームを結合したら列が2つになった

2つのデータフレームを結合するには、bind_rows(df1, df2)が便利

しかし、両者の列名が揃っていない場合、異なる列として扱われてしまう。

例えば、df1$X1とdf2$x1とは同じ意味の列であったとしても異なる列になる

結合する前に列名を揃えるのが手っ取り早いが、意外と面倒なので、自分は取り急ぎ最初に結合して出来上がるデータフレーム上で処理する

前提として、bind_rowsを使うと、結果とはX1、x1のデータがあった場所には元のデータがあり、なかった場所にはNAが入っている

そういうときにcoalesce()関数を使う

library(dplyr)
# サンプルデータの作成
df <- data.frame(
  X1 = c(1, NA, 3, NA),
  X2 = c(NA, 2, NA, 4),
  Y = c("A", "B", "C", "D")
)

# X1列にX2の値を統合
df <- df %>%
  mutate(X1 = coalesce(X1, X2)) %>%  # X1列にX2列の値を統合
  select(-X2)                         # 不要になったX2列を削除
# 結果を表示
print(df)
  X1 Y
1  1 A
2  2 B
3  3 C
4  4 D

Last updated 2024-11-15 | auditR (c) N.Nawata