R で 2つの列を連結する

Sheeraz Gul 2023年6月21日
  1. R で Paste() 関数を使用して 2つの列を連結する
  2. TidyrUnite() 関数を使用して、R で 2つの列を連結する
R で 2つの列を連結する

1つの列の値を他の列の値に連結する必要がある場合があります。 R には、2つの列を連結する 2つの方法があります。 このチュートリアルでは、R でデータ フレーム列を連結する 2つの方法を示します。

R で Paste() 関数を使用して 2つの列を連結する

Paste() はベース R の組み込み関数で、データ フレーム内の 2つの列を連結できます。 新しい列を作成し、パラメーターとして渡された 2つの列を区切り記号で結合します。

例を参照してください:

Delftstack <- data.frame(Name=c('Jack', 'John', 'Mike', 'Michelle', 'Jhonny'),
                         LastName=c('Danials', 'Cena', 'Chandler', 'McCool', 'Nitro'),
                         Id=c(101, 102, 103, 104, 105),
                         Designation=c('CEO', 'Project Manager', 'Senior Dev', 'Junior Dev', 'Intern'))

print('The dataframe before concatenating the columns:-')
Delftstack


#combine name and ID into one column
Delftstack$Id_Name <- paste(Delftstack$Id, Delftstack$Name, sep="_")


print('The dataframe after concatenating the columns:-')
Delftstack

上記のコードは、Id 列と Name 列を新しい列 Id_Name に連結します。 新しい列を作成し、paste 関数を列名と区切り記号と共に使用して、2つの列を連結します。

列名は datframe$columnname で示されます。 出力を参照してください。

[1] "The dataframe before concatenating the columns:-"
      Name LastName  Id     Designation
1     Jack  Danials 101             CEO
2     John     Cena 102 Project Manager
3     Mike Chandler 103      Senior Dev
4 Michelle   McCool 104      Junior Dev
5   Jhonny    Nitro 105          Intern

[1] "The dataframe after concatenating the columns:-"
      Name LastName  Id     Designation      Id_Name
1     Jack  Danials 101             CEO     101_Jack
2     John     Cena 102 Project Manager     102_John
3     Mike Chandler 103      Senior Dev     103_Mike
4 Michelle   McCool 104      Junior Dev 104_Michelle
5   Jhonny    Nitro 105          Intern   105_Jhonny

必要に応じて、連結後に前の列を削除できます。

New_Delftstack <- Delftstack[c("Id_Name", "LastName", "Designation")]
print('The dataframe after concatenating the columns:-')
New_Delftstack

上記のコードは、以前の列を削除し、連結された列を持つ新しいデータ フレームを提供します。 出力を参照してください:

[1] "The dataframe after concatenating the columns:-"
       Id_Name LastName     Designation
1     101_Jack  Danials             CEO
2     102_John     Cena Project Manager
3     103_Mike Chandler      Senior Dev
4 104_Michelle   McCool      Junior Dev
5   105_Jhonny    Nitro          Intern

TidyrUnite() 関数を使用して、R で 2つの列を連結する

R の tidyr パッケージには、R の 2つの列を連結できる unite() 関数があります。これは、データ フレーム、新しい列名、および連結された列をパラメーターとして受け取ります。

例を参照してください:

library(tidyr)

Delftstack <- data.frame(Name=c('Jack', 'John', 'Mike', 'Michelle', 'Jhonny'),
                         LastName=c('Danials', 'Cena', 'Chandler', 'McCool', 'Nitro'),
                         Id=c(101, 102, 103, 104, 105),
                         Designation=c('CEO', 'Project Manager', 'Senior Dev', 'Junior Dev', 'Intern'))

print('The dataframe before concatenating the columns:-')
Delftstack


print('The dataframe after concatenating the columns:-')
unite(Delftstack, Id_Name, c(Id, Name))

上記のコードは、2つの列を連結し、前の列を削除します。 出力を参照してください:

[1] "The dataframe before concatenating the columns:-"
      Name LastName  Id     Designation
1     Jack  Danials 101             CEO
2     John     Cena 102 Project Manager
3     Mike Chandler 103      Senior Dev
4 Michelle   McCool 104      Junior Dev
5   Jhonny    Nitro 105          Intern

[1] "The dataframe after concatenating the columns:-"
       Id_Name LastName     Designation
1     101_Jack  Danials             CEO
2     102_John     Cena Project Manager
3     103_Mike Chandler      Senior Dev
4 104_Michelle   McCool      Junior Dev
5   105_Jhonny    Nitro          Intern

ご覧のとおり、列を削除する場合は unite() の方が便利です。

著者: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

関連記事 - R Column