如果 r 中不存在列,如何添加列


您可以使用以下自定义函数将一列或多列添加到 R 中的数据框中(如果它们尚不存在):

 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中的其他列将列添加到数据框
如何将索引列(数字 ID)添加到 R 中的数据框
如何在R中的数据框中添加空列

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注