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()関数を使用する方法