Rのdplyrパッケージのmutate関数は新たに列を追加する関数です。
ここでは、mutate関数に文字列として与えた列に対して、paste関数で統合した結果を新たに追加する方法をお伝えします。

サンプルデータとして、統計的な学生の髪と目の色が収められているHairEyeColorを用います。
ただし、このサンプルデータはtableとなっておりますので、実際にはdata.frameに変換して用います。


> library(dplyr)
> data("HairEyeColor")
> HairEyeColor %>% as.data.frame()
    Hair   Eye    Sex Freq
1  Black Brown   Male   32
2  Brown Brown   Male   53
3    Red Brown   Male   10
4  Blond Brown   Male    3
5  Black  Blue   Male   11
6  Brown  Blue   Male   50
7    Red  Blue   Male   10
8  Blond  Blue   Male   30
9  Black Hazel   Male   10
10 Brown Hazel   Male   25
11   Red Hazel   Male    7
12 Blond Hazel   Male    5
13 Black Green   Male    3
14 Brown Green   Male   15
15   Red Green   Male    7
16 Blond Green   Male    8
17 Black Brown Female   36
18 Brown Brown Female   66
19   Red Brown Female   16
20 Blond Brown Female    4
21 Black  Blue Female    9
22 Brown  Blue Female   34
23   Red  Blue Female    7
24 Blond  Blue Female   64
25 Black Hazel Female    5
26 Brown Hazel Female   29
27   Red Hazel Female    7
28 Blond Hazel Female    5
29 Black Green Female    2
30 Brown Green Female   14
31   Red Green Female    7
32 Blond Green Female    8

このデータは、Hair列とEye列、Sex列が文字列となっておりますので、この列をpaste関数で結合して新たにNewCol列を追加するコードは次のようになります。


> HairEyeColor %>% as.data.frame() %>% mutate(NewCol = paste(!!!rlang::syms(c("Hair", "Eye", "Sex")), sep="-"))
    Hair   Eye    Sex Freq             NewCol
1  Black Brown   Male   32   Black-Brown-Male
2  Brown Brown   Male   53   Brown-Brown-Male
3    Red Brown   Male   10     Red-Brown-Male
4  Blond Brown   Male    3   Blond-Brown-Male
5  Black  Blue   Male   11    Black-Blue-Male
6  Brown  Blue   Male   50    Brown-Blue-Male
7    Red  Blue   Male   10      Red-Blue-Male
8  Blond  Blue   Male   30    Blond-Blue-Male
9  Black Hazel   Male   10   Black-Hazel-Male
10 Brown Hazel   Male   25   Brown-Hazel-Male
11   Red Hazel   Male    7     Red-Hazel-Male
12 Blond Hazel   Male    5   Blond-Hazel-Male
13 Black Green   Male    3   Black-Green-Male
14 Brown Green   Male   15   Brown-Green-Male
15   Red Green   Male    7     Red-Green-Male
16 Blond Green   Male    8   Blond-Green-Male
17 Black Brown Female   36 Black-Brown-Female
18 Brown Brown Female   66 Brown-Brown-Female
19   Red Brown Female   16   Red-Brown-Female
20 Blond Brown Female    4 Blond-Brown-Female
21 Black  Blue Female    9  Black-Blue-Female
22 Brown  Blue Female   34  Brown-Blue-Female
23   Red  Blue Female    7    Red-Blue-Female
24 Blond  Blue Female   64  Blond-Blue-Female
25 Black Hazel Female    5 Black-Hazel-Female
26 Brown Hazel Female   29 Brown-Hazel-Female
27   Red Hazel Female    7   Red-Hazel-Female
28 Blond Hazel Female    5 Blond-Hazel-Female
29 Black Green Female    2 Black-Green-Female
30 Brown Green Female   14 Brown-Green-Female
31   Red Green Female    7   Red-Green-Female
32 Blond Green Female    8 Blond-Green-Female

関連する記事

  • R オブジェクトを保存・読み込みする方法R オブジェクトを保存・読み込みする方法 Rでオブジェクトをファイルに保存または読み込みする方法を記載します。 長時間の計算による解析結果をファイルに保存しておくことは、解析手続きの分割が行えるため、とても役に立ちます。 解析手続きの分割について、解析Aの結果を解析Bで用いる場合という例でご説明します。 同じスクリプトで解析Aと解析Bを記載すると、解析Bを変更した際に再度解析Aを実行しないといけません。解析 […]
  • Windows上のRStudioでKnit to PDFを実行するための環境を構築Windows上のRStudioでKnit to PDFを実行するための環境を構築 RStudioでKnit to PDFをを実行するための環境を構築する手順をお伝えします。 最初に、Knit to PDFを実行した際には、次のように必要なパッケージのインストールを要求されますので、「Yes」ボタンをクリックしインストールします。 Knit to […]
  • R言語 CRAN Task View:ベイズ推論R言語 CRAN Task View:ベイズ推論 CRAN Task View: Bayesian Inferenceの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Jong Hee Park Contact: jongheepark at […]
  • 経営戦略に使えるABC分析の基礎知識と活用法経営戦略に使えるABC分析の基礎知識と活用法 ABC分析は売上に関する経営戦略を立てるうえで、最も基本となる分析手法である。ABC分析とは、販売管理、顧客管理で使われる分析の一つで、ある期間で対象を重要度によって分類することにより現状を把握し易くする分析手法だ。 それでは早速解説していく。 ABC分析の手順 期間を過去一年間、対象を商品、重要度を売上とした場合を例に取り、ABC分析を行う手順を説明していく。 […]
  • Linux:Eclipse+CDTでC/C++開発Linux:Eclipse+CDTでC/C++開発 Linux環境においてEclipseでCDTを用いてC/C++開発を行う場合にはまったことを備忘記録として残しておく。 CDTインストール直後、関数が認識されないエラーの対処 CDTのインストール後にすぐにC++開発を行おうとしてコードを入力した場合、関数が認識されずエラーが出る。この場合は一度Eclipseを再起動すれば、次回からきちんと認識される。 外部ヘッダーファ […]
R dplyrパッケージで複数の列を文字列として指定し結合された列を追加する方法