Rに列が存在しない場合に列を追加する方法


次のカスタム関数を使用すると、R のデータ フレームに 1 つ以上の列が存在しない場合に追加できます。

 add_cols <- function (df, cols) {
  add <- cols[!cols %in% names(df)]
  if (length(add) != 0) df[add] <- NA
  return (df)
}

次の例は、この構文を実際に使用する方法を示しています。

例: R に列が存在しない場合は追加します。

R に次のデータ フレームがあるとします。

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B'),
                 position=c('Gu', 'Fo', 'Fo', 'Fo', 'Gu', 'Gu', 'Fo'),
                 dots=c(18, 22, 19, 14, 14, 11, 20))

#view data frame
df

  team position points
1 A Gu 18
2 A Fo 22
3 A Fo 19
4 A Fo 14
5 B Gu 14
6 B Gu 11
7 B Fo 20

次の列がまだ存在しない場合は、データ フレームに追加するとします。

  • ポイント
  • ヘルプ
  • 跳ねる

これを行うには、 add_colsというカスタム関数を使用できます。

 #define custom function to add columns to data frame if they do not exist
add_cols <- function (df, cols) {
  add <- cols[!cols %in% names(df)]
  if (length(add) !=0 ) df[add] <- NA
  return (df)
}

#add three columns if they don't already exist
df <- add_cols(df, c(' points ', ' assists ', ' rebounds '))

#view updated data frame
df

  team position points assists rebounds
1 A Gu 18 NA NA
2 A Fo 22 NA NA
3 A Fo 19 NA NA
4 A Fo 14 NA NA
5 B Gu 14 NA NA
6 B Gu 11 NA NA
7 B Fo 20 NA NA

アシスト列リバウンド列はデータ フレームに追加されましたが、ポイント列はすでに存在していたので追加されていないことに注意してください。

また、R は単に新しい列の各値を NA 値で埋めるだけであることにも注意してください。

追加リソース

次のチュートリアルでは、R で他の一般的なタスクを実行する方法について説明します。

R の他の列に基づいてデータ フレームに列を追加する方法
R でデータ フレームにインデックス列 (数値 ID) を追加する方法
R で空の列をデータ フレームに追加する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です