R でデータを同じサイズのグループに分割する方法


R のggplot2パッケージのCut_number()関数を使用すると、ベクトルを同じサイズのグループに分割できます。

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

カット番号(x,n)

金:

  • x:除算するデジタルベクトルの名前
  • n:グループ数

次の例は、この関数を実際に使用する方法を示しています。

例: R でデータを同じサイズのグループに分割する方法

R に、12 人の異なるバスケットボール選手が獲得したポイントに関する情報を含む次のデータ フレームがあるとします。

 #create data frame
df <- data. frame (player=LETTERS[1:12],
                 points=c(1, 2, 2, 2, 4, 5, 7, 9, 12, 14, 15, 22))

#view data frame
df

   player points
1 to 1
2 B 2
3 C 2
4 D 2
5 E 4
6 F 5
7 G 7
8:9 a.m.
9 I 12
10 D 14
11K15
12 L 22

関連: R で LETTERS 関数を使用する方法

ggplot2パッケージのCut_number()関数を使用して、 points列の値に基づいてデータ フレームの各行を 3 つのグループのいずれかに分割するgroupという新しい列を作成できます。

 library (ggplot2)

#create new column that splits data into three equal sized groups based on points
df$group <- cut_number(df$points, 3)

#view updated data frame
df

   player points group
1 To 1 [1,3.33]
2 B 2 [1,3.33]
3 C 2 [1,3.33]
4 D 2 [1,3.33]
5 E 4 (3.33.10]
6 F 5 (3.33.10]
7 G 7 (3.33.10]
8 A.M. 9 (3.33.10]
9 I 12 (10.22]
10 J 14 (10.22]
11 K 15 (10.22]
12 L 22 (10.22]

12 人のプレーヤーはそれぞれ、ポイント列に表示されている値に基づいて 3 つのグループのいずれかに配置されます。

結果から、3 つの異なるグループがあることがわかります。

  • グループ 1: ポイントの値は 1 ~ 3.33 です。
  • グループ 2: ポイントの値は 3.33 ~ 10 の間です。
  • グループ 3: ポイントの値は 10 ~ 22 です。

各グループに 4 人のプレーヤーが配置されていることがわかります。

グループ列にグループを整数値として表示したい場合は、 cut_number()関数をas.numeric()関数でラップします。

 library (ggplot2)

#create new column that splits data into three equal sized groups based on points
df$group <- as. numeric (cut_number(df$points, 3))

#view updated data frame
df

   player points group
1 A 1 1
2 B 2 1
3 C 2 1
4 D 2 1
5 E 4 2
6 F 5 2
7 G 7 2
8:92 a.m.
9 I 12 3
10 D 14 3
11 K 15 3
12 L 22 3

新しいグループ列には、プレーヤーがどのグループに属しているかを示す値 1、2、および 3 が含まれるようになりました。

ここでも、各グループには 4 人のプレーヤーが含まれます。

: ポイント列を 3 つ以上のグループに分割するには、 cut_number()関数の3 を別の数値に置き換えるだけです。

追加リソース

次のチュートリアルでは、R で他の一般的なタスクを実行する方法について説明します。

Rでデータフレームを分割する方法
R でデータをトレーニング セットとテスト セットに分割する方法
R でデータのグループ化を実行する方法

コメントを追加する

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