Часто вам может понадобиться объединить два столбца в один в 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 вы можете найти здесь .