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


Часто вам может понадобиться объединить два столбца в один в R. Например, предположим, что у вас есть фрейм данных с тремя столбцами:

month year value
 10 2019 15
 10 2020 13
 11 2020 13
 11 2021 19
 12 2021 22

Вы можете объединить столбцы месяца и года в один столбец с именем date :

date value
 2019_10 15
 2020_10 13
 2020_11 13
 2021_11 19
 2021_12 22

В этом руководстве объясняются два способа быстро сделать это в R.

Способ 1: используйте функцию вставки из Base R

В следующем коде показано, как использовать функцию вставки из базы R для объединения столбцов месяца и года в один столбец с именем date :

#create data frame
data <- data.frame(month=c(10, 10, 11, 11, 12),
 year=c(2019, 2020, 2020, 2021, 2021),
 value=c(15, 13, 13, 19, 22))

#view data frame
data

#combine year and month into one column
data$date <- paste (data$year, data$month, sep=" _ ")

#view new data frame 
data

 month year value date
1 10 2019 15 2019_10
2 10 2020 13 2020_10
3 11 2020 13 2020_11
4 11 2021 19 2021_11
5 12 2021 22 2021_12

После того, как мы объединили два столбца, мы можем удалить старые, если хотим:

data_new <- data[c(" date", " value ")]

data_new

 date value
1 2019_10 15
2 2020_10 13
3 2020_11 13
4 2021_11 19
5 2021_12 22

Способ 2: используйте функцию Unite от Tidyr

В следующем коде показано, как использовать функцию объединения из пакета tiydr для объединения столбцов месяца и года в один столбец с именем date :

#load tidyr package
library(tidyr)

#create data frame
data <- data.frame(month=c(10, 10, 11, 11, 12),
 year=c(2019, 2020, 2020, 2021, 2021),
 value=c(15, 13, 13, 19, 22))

#combine year and month into one column
unite (data, date, c(year, month))

 date value
1 2019_10 15
2 2020_10 13
3 2020_11 13
4 2021_11 19
5 2021_12 22

Обратите внимание, что оба метода дают одинаковые результаты.

Полную документацию по функции unite вы можете найти здесь .

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.