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つの機能を使いこなせば、どんなデータフレームからでも「整った」データを作成できるようになります。

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です