R で split() 関数を使用してデータを分割する方法


R のSplit()関数を使用すると、因子レベルに基づいてデータをグループに分割できます。

この関数は次の基本構文を使用します。

除算(x, f, …)

金:

  • x : グループに分割するベクトルまたはデータ ブロックの名前
  • f : グループ分けを定義する係数

次の例は、この関数を使用してベクトルとデータ フレームをグループに分割する方法を示しています。

例 1: ベクトルをグループに分割するには、split() を使用します。

次のコードは、因子レベルのベクトルに基づいてデータ値のベクトルをグループに分割する方法を示しています。

 #create vector of data values
data <- c(1, 2, 3, 4, 5, 6)

#create vector of groupings
groups <- c('A', 'B', 'B', 'B', 'C', 'C')

#split vector of data values into groups
split(x = data, f = groups)

$A
[1] 1

$B
[1] 2 3 4

$C
[1] 5 6

結果は 3 つのグループになります。

インデックス作成を使用して特定のグループを取得することもできることに注意してください。

 #split vector of data values into groups and only display second group
split(x = data, f = groups)[2]

$B
[1] 2 3 4

例 2: Split() を使用してデータ フレームをグループに分割する

R に次のデータ フレームがあるとします。

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'G', 'F', 'F'),
                 points=c(33, 28, 31, 39, 34, 44),
                 assists=c(30, 28, 24, 24, 28, 19))

#view data frame
df

  team position points assists
1 GA 33 30
2 AG 28 28
3 AF 31 24
4 BG 39 24
5 BF 34 28
6 BF 44 19

次のコードを使用すると、「チーム」変数に基づいてデータ フレームをグループに分割できます。

 #split data frame into groups based on 'team'
split(df, f = df$team)

$A
  team position points assists
1 GA 33 30
2 AG 28 28
3 AF 31 24

$B
  team position points assists
4 BG 39 24
5 BF 34 28
6 BF 44 19

結果は 2 つのグループになります。最初の行には「team」が A に等しい行のみが含まれ、2 番目の行には「team」が B に等しい行のみが含まれています。

複数の因子変数を使用してデータをグループに分割することもできることに注意してください。たとえば、次のコードは、「チーム」変数と「ポジション」変数に基づいてデータをグループに分割する方法を示しています。

 #split data frame into groups based on 'team' and 'position' variables
split(df, f = list(df$team, df$position))

$AF
  team position points assists
3 AF 31 24

$BF
  team position points assists
5 BF 34 28
6 BF 44 19

$AG
  team position points assists
1 GA 33 30
2 AG 28 28

$BG
  team position points assists
4 BG 39 24

結果は4つのグループになります。

追加リソース

次のチュートリアルでは、R の他の一般的な関数の使用方法について説明します。

R で summary() 関数を使用する方法
Rでreplicate()関数を使用する方法
R で match() 関数を使用する方法

コメントを追加する

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