R で 2 つの列を 1 つに結合する方法 (例あり)
多くの場合、R で 2 つの列を 1 つに結合したいことがあります。たとえば、3 つの列を持つデータ フレームがあるとします。
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 でこれを迅速に行う 2 つの方法について説明します。
方法 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
2 つの列を結合したら、必要に応じて古い列を削除できます。
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
どちらの方法でも同じ結果が得られることに注意してください。
ユニット関数の完全なドキュメントはここで見つけることができます。