R で別の関数を使用する方法 (例あり)
TidyrパッケージのSeparate()関数を使用すると、データ フレーム列を複数の列に分割できます。
この関数は次の基本構文を使用します。
区切られた (data、col、into、sep)
金:
- data : データフレームの名前
- Col : 分割する列の名前
- into : 分割される列の名前のベクトル
- sep : 列を区切る値
次の例は、この関数を実際に使用する方法を示しています。
例 1: 列を 2 つの列に分割する
R に次のデータ フレームがあるとします。
#create data frame df <- data. frame (player=c('A', 'A', 'B', 'B', 'C', 'C'), year=c(1, 2, 1, 2, 1, 2), stats=c('22-2', '29-3', '18-6', '11-8', '12-5', '19-2')) #view data frame df player year stats 1 A 1 22-2 2 A 2 29-3 3 B 1 18-6 4 B 2 11-8 5 C 1 12-5 6 C 2 19-2
次のように、Separate()関数を使用して、stats 列を「points」と「assists」という 2 つの新しい列に分割できます。
library (tidyr) #separate stats column into points and assists columns separate(df, col=stats, into=c(' points ', ' assists '), sep=' - ') player year points assists 1 A 1 22 2 2 A 2 29 3 3 B 1 18 6 4 B 2 11 8 5 C 1 12 5 6 C 2 19 2
例 2: 列を 3 つ以上の列に分割する
R に次のデータ フレームがあるとします。
#create data frame df2 <- data. frame (player=c('A', 'A', 'B', 'B', 'C', 'C'), year=c(1, 2, 1, 2, 1, 2), stats=c('22/2/3', '29/3/4', '18/6/7', '11/1/2', '12/1/1', '19/2/4 ')) #view data frame df2 player year stats 1 A 1 22/2/3 2 A 2 29/3/4 3 B 1 18/6/7 4 B 2 11/1/2 5 C 1 12/1/1 6 C 2 19/2/4
Separate()関数を使用して、統計列を 3 つの別々の列に分割できます。
library (tidyr) #separate stats column into three new columns separate(df, col=stats, into=c(' points ', ' assists ', ' steals '), sep=' / ') player year points assists steals 1 A 1 22 2 3 2 A 2 29 3 4 3 B 1 18 6 7 4 B 2 11 1 2 5 C 1 12 1 1 6 C 2 19 2 4
追加リソース
Tidyrパッケージの目標は、次の特徴を持つ「整った」データを作成することです。
- 各列は変数です。
- 各行は観察です。
- 各セルは一意の値です。
Tidyr パッケージは、4 つの主要な関数を使用して順序付けされたデータを作成します。
1. Spread()関数。
2. Gather()関数。
3. Separate()関数。
4.unit ()関数。
この4つの機能を使いこなせば、どんなデータフレームからでも「整った」データを作成できるようになります。