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
Tidyr
の Unite()
関数を使用して、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 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