Как добавить столбец во фрейм данных в R (с примерами)


Есть три распространенных способа добавить новый столбец во фрейм данных в R:

1. Используйте оператор $

df$new <- c(3, 3, 6, 7, 8, 12)

2. Используйте скобки

df['new'] <- c(3, 3, 6, 7, 8, 12)

3. Используйте Cbind

df_new <- cbind(df, new)

В этом руководстве представлены примеры того, как использовать каждый из этих методов на практике, используя следующий фрейм данных:

#create data frame
df <- data.frame(a = c('A', 'B', 'C', 'D', 'E'),
 b = c(45, 56, 54, 57, 59))

#view data frame
df

 a b
1 A 45
2 B 56
3 C 54
4 D 57
5 E 59

Пример 1. Использование оператора $

В следующем коде показано, как добавить столбец во фрейм данных с помощью оператора $:

#define new column to add
new <- c(3, 3, 6, 7, 8)

#add column called 'new'
df$new <- new

#view new data frame
df 

 a b new
1 A 45 3
2 B 56 3
3 C 54 6
4 D 57 7
5 E 59 8

Пример 2: Используйте скобки

В следующем коде показано, как добавить столбец во фрейм данных с помощью квадратных скобок:

#define new column to add
new <- c(3, 3, 6, 7, 8)

#add column called 'new'
df['new'] <- new

#view new data frame
df 

 a b new
1 A 45 3
2 B 56 3
3 C 54 6
4 D 57 7
5 E 59 8

Пример 3: Используйте Cbind

В следующем коде показано, как добавить столбец во фрейм данных с помощью функции cbind , которая является сокращением от column-bind :

#define new column to add
new <- c(3, 3, 6, 7, 8)

#add column called 'new'
df_new <- cbind(df, new)

#view new data frame
df_new

 a b new
1 A 45 3
2 B 56 3
3 C 54 6
4 D 57 7
5 E 59 8

На самом деле вы можете использовать функцию cbind для одновременного добавления нескольких новых столбцов:

#define new columns to add
new1 <- c(3, 3, 6, 7, 8)
new2 <- c(13, 14, 16, 17, 20) 

#add columns called 'new1' and 'new2'
df_new <- cbind(df, new1, new2)

#view new data frame
df_new

 a b new1 new2
1 A 45 3 13
2 B 56 3 14
3 C 54 6 16
4 D 57 7 17
5 E 59 8 20

Бонус: установка имен столбцов

После добавления одного или нескольких столбцов во фрейм данных вы можете использовать функцию colnames() , чтобы указать имена столбцов нового фрейма данных:

#create data frame
df <- data.frame(a = c('A', 'B', 'C', 'D', 'E'),
 b = c(45, 56, 54, 57, 59),
 new1 = c(3, 3, 6, 7, 8),
 new2 = c(13, 14, 16, 17, 20))

#view data frame
df

 a b new1 new2
1 A 45 3 13
2 B 56 3 14
3 C 54 6 16
4 D 57 7 17
5 E 59 8 20

#specify column names
colnames(df) <- c('a', 'b', 'c', 'd')

#view data frame
df

 a b c d
1 A 45 3 13
2 B 56 3 14
3 C 54 6 16
4 D 57 7 17
5 E 59 8 20

Вы можете найти больше руководств по R здесь .