如何在 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:使用 Tidyr 的 Unite 功能
以下代码演示如何使用 tiydr 包中的unit函数将月份和年份列合并到名为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 unit (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
请注意,两种方法都会产生相同的结果。
您可以在此处找到单位函数的完整文档。