Як додати стовпець, якщо він не існує в 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
Як додати стовпець індексу (числовий ідентифікатор) до кадру даних у R
Як додати порожній стовпець до кадру даних у R