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言語 CRAN Task ViewsR言語 CRAN Task Views CRANに登録されているパッケージ数は膨大です。そこで、いくつかのグループにパッケージを分類し整理されたCRAN Tack Views というサイトがあります。ここでは、英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Bayesian(日本語訳) Bayesian […]
  • R言語 CRAN Task View:欠損データR言語 CRAN Task View:欠損データ CRAN Task View: Missing Dataの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Julie Josse, Nicholas Tierney and Nathalie Vialaneix (r-miss-tastic […]
  • R言語 CRAN Task View:生態と環境データの分析R言語 CRAN Task View:生態と環境データの分析 CRAN Task View: Analysis of Ecological and Environmental Dataの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Gavin Simpson Contact: ucfagls at […]
  • R実装と解説 母平均の検定(母分散未知) [latexpage] 母分散が未知の場合の母平均の検定とは、母集団が正規分布に従い、母分散が未知のときに母平均が標本平均と「異なる」または「大きい」、「小さい」かどうかを、検定統計量がt分布に従うことを利用して検定します。 統計的検定の流れ 検定の大まかな流れを確認しておきます。 帰無仮説H0と対立仮設H1をたてます […]
  • 平均的に分類する方法の考察(1)平均的に分類する方法の考察(1) ある定量データが与えられたとき、それを平均的に分類するための方法を考えてみる。 ここで言う平均的に分類するというのは、分類された各グループのデータ数がほぼ等しく、かつ、分類された各グループの平均値が定量データ全体の平均値にほぼ等しくなるように分類するということである。 具体的には、学生のクラス替えを行う際に、100人の学生を3つのクラスに振り分けたいが、その場合、各ク […]
R dplyrパッケージで複数の列を文字列として指定し結合された列を追加する方法