R で gather 関数を使用する方法 (例あり)
TidyrパッケージのGather()関数を使用すると、複数の列にわたるキーと値のペアを「収集」できます。
この関数は次の基本構文を使用します。
収集 (データ、キー値など)
金:
- data : データフレームの名前
- key : 作成するキー列の名前
- value : 作成する値列の名前
- … : 収集元の列を指定します
次の例は、この関数を実際に使用する方法を示しています。
例 1: 2 つの列の値を収集する
R に次のデータ フレームがあるとします。
#create data frame df <- data. frame (player=c('A', 'B', 'C', 'D'), year1=c(12, 15, 19, 19), year2=c(22, 29, 18, 12)) #view data frame df player year1 year2 1 to 12 22 2 B 15 29 3 C 19 18 4 D 19 12
次のように、 gather()関数を使用して、「year」と「points」という 2 つの新しい列を作成できます。
library (tidyr) #gather data from columns 2 and 3 gather(df, key=" year ", value=" points ", 2:3) player year points 1 A year1 12 2 B year1 15 3 C year1 19 4 D year1 19 5 A year2 22 6 B year2 29 7 C year2 18 8 D year2 12
例 2: 3 つ以上の列から値を収集する
R に次のデータ フレームがあるとします。
#create data frame df2 <- data. frame (player=c('A', 'B', 'C', 'D'), year1=c(12, 15, 19, 19), year2=c(22, 29, 18, 12), year3=c(17, 17, 22, 25)) #view data frame df2 player year1 year2 year3 1 A 12 22 17 2 B 15 29 17 3 C 19 18 22 4 D 19 12 25
次のように、gather()関数を使用して、列 2、3、および 4 の値を「year」と「points」という 2 つの新しい列に「収集」できます。
library (tidyr) #gather data from columns 2, 3, and 4 gather(df, key=" year ", value=" points ", 2:4) player year points 1 A year1 12 2 B year1 15 3 C year1 19 4 D year1 19 5 A year2 22 6 B year2 29 7 C year2 18 8 D year2 12 9 A year3 17 10 B year3 17 11 C year3 22 12 D year3 25
追加リソース
Tidyrパッケージの目標は、次の特徴を持つ「整った」データを作成することです。
- 各列は変数です。
- 各行は観察です。
- 各セルは一意の値です。
Tidyr パッケージは、4 つの主要な関数を使用して順序付けされたデータを作成します。
1. Spread()関数。
2. Gather()関数。
3. Separate()関数。
4.unit ()関数。
この4つの機能を使いこなせば、どんなデータフレームからでも「整った」データを作成できるようになります。