Rでcut()関数を使用する方法


R のCut()関数を使用すると、値の範囲をビンに分割し、各ビンのラベルを指定できます。

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

Cut(x, ブレーク, ラベル = NULL, …)

金:

  • x : ベクトル名
  • Breaks : 作成するブレークの数またはブレーク ポイントのベクトル
  • label : 結果のビンのラベル

次の例は、R の次のデータ フレームを使用して、さまざまなシナリオでこの関数を使用する方法を示しています。

 #create data frame
df <- data. frame (player=c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'),
                 points=c(4, 7, 8, 12, 14, 16, 20, 26, 36))

#view data frame
df

  player points
1 to 4
2 B 7
3 C 8
4 D 12
5 E 14
6 F 16
7 G 20
8:26 a.m.
9 I 36

例 1: ブレークの数に基づいてベクトルを切り取る

次のコードは、 cut()関数を使用して、点の列を 4 つの等しいサイズのグループに分割するcategoryという新しい列を作成する方法を示しています。

 #create new column that places each player into four categories based on points
df$category <- cut(df$points, breaks= 4 )

#view updated data frame
df

  player points category
1 to 4 (3.97.12]
2 B 7 (3.97.12]
3 C 8 (3.97.12]
4 D 12 (3.97.12]
5 E 14 (12.20]
6 F 16 (12.20]
7 G 20 (12.20]
8:26 a.m. (20.28]
9 I 36 (28.36]

Breaks=4を指定したため、 cut()関数はポイント列の値を 4 つの等しいサイズのグループに分割します。

Cut()関数がこれを行う方法は次のとおりです。

  • まず、ポイント列の最大値と最小値の差を見つけました (36 – 4 = 32)。
  • 次に、この差を 4 で割ります (32 / 4 = 8)。
  • 結果は、それぞれ幅 8 の 4 つのビンになります。

: Cut() ドキュメントの次の機能により、最小間隔は 4 ではなく 3.97 になります。

一時停止が単一の数値として指定されている場合、データの範囲は同じ長さの一時停止のチャンクに分割され、外側の制限が範囲から 0.1% 離れて移動され、異常値が両方の一時停止間隔内に収まるようになります。

例 2: 特定のブレークポイントに基づいてベクトルを切断する

次のコードは、 cut()関数を使用して、特定のブレークポイントのベクトルに基づいてポイントの列を切り取るcategoryという新しい列を作成する方法を示しています。

 #create new column based on specific break points
df$category <- cut(df$points, breaks=c(0, 10, 15, 20, 40))

#view updated data frame
df

  player points category
1 to 4 (0.10]
2 B 7 (0.10]
3 C 8 (0.10]
4 D 12 (10.15]
5 E 14 (10.15]
6 F 16 (15.20]
7 G 20 (15.20]
8:26 a.m. (20.40)
9 I 36 (20.40]

Cut()関数は、提供したブレークポイントの特定のベクトルに基づいて、各プレイヤーをカテゴリに分類しました。

例 3: 特定のブレークポイントとラベルを使用してベクターを切り取る

次のコードは、 cut()関数を使用して、カスタム ラベルを持つ特定のブレークポイントのベクトルに基づいてポイントの列を切り取るcategoryという新しい列を作成する方法を示しています。

 #create new column based on values in points column
df$category <- cut(df$points,
                   breaks=c(0, 10, 15, 20, 40),
                   labels=c(' Bad ', ' OK ', ' Good ', ' Great '))

#view updated data frame
df

  player points category
1 A 4 Bad
2 B 7 Bad
3 C 8 Bad
4 D 12 OK
5 E 14 OK
6 F 16 Good
7 G 20 Good
8:26 A.M. Great
9 I 36 Great

新しいカテゴリ列では、ポイント列の対応する値に基づいて、各プレーヤーを悪い、OK、良い、または優れたとしてランク付けします。

: 次のエラーを避けるために、ラベルの数は常にブレークポイントの数より 1 つ少ない必要があります。

 Error in cut.default(df$points, breaks = c(0, 10, 15, 20, 40), labels = c("Bad",: 
  lengths of 'breaks' and 'labels' differ

追加リソース

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

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

コメントを追加する

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