R の比率を計算する方法 (例付き)


次のメソッドを使用して、R の 2 つの列の値間の比率を計算できます。

方法 1: Base R を使用する

 #calculate ratio between variable1 and variable2
df$ratio <- df$variable1/df$variable1

#calculate ratio between variable1 and variable2, rounded to 2 decimal places
df$ratio <- round(df$variable1/df$variable2, 2 )

方法 2: dplyr を使用する

 library (dplyr)

#calculate ratio between variable1 and variable2
df <- df %>%
        mutate(ratio = variable1/variable2)

#calculate ratio between variable1 and variable2, rounded to 2 decimal places
df <- df %>%
        mutate(ratio = round(variable1/variable2, 2 ))

このチュートリアルでは、さまざまなバスケットボール選手が打ったシュートと試行したシュートの合計数を示す次のデータ フレームを使用して、実際に各方法を使用する方法を説明します。

 #create data frame
df <- data. frame (players=c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'),
                 makes=c(4, 4, 3, 6, 7, 8, 3, 10),
                 attempts=c(12, 7, 5, 6, 10, 12, 5, 19))

#view data frame
df

  players makes attempts
1 to 4 12
2 B 4 7
3 C 3 5
4 D 6 6
5 E 7 10
6 F 8 12
7 G 3 5
8:10:19 a.m.

例 1: R 基数を使用して比率を計算する

次のコードは、R ベースを使用してマーク列と試行列の値の間の比率を計算する方法を示しています。

 #calculate ratio between makes and attempts columns
df$ratio <- df$makes/df$attempts

#view updated data frame
df

  players makes attempts ratio
1 A 4 12 0.3333333
2 B 4 7 0.5714286
3 C 3 5 0.6000000
4 D 6 6 1.0000000
5 E 7 10 0.7000000
6 F 8 12 0.6666667
7 G 3 5 0.6000000
8:10:19 AM 0.5263158

最初のプレーヤーの試行数に対する試行数の比率は 4/12 = 0.33です。

言い換えれば、最初のプレーヤーはショット試行の約33%を成功させました。

他のすべてのプレイヤーの比率値も同様に解釈できます。

また、 round()関数を使用して、比率値を特定の小数点以下の桁数に四捨五入することもできます。

 #calculate ratio between makes and attempts columns, rounded to 2 decimal places
df$ratio <- round(df$makes/df$attempts, 2 )

#view updated data frame
df

  players makes attempts ratio
1 to 4 12 0.33
2 B 4 7 0.57
3 C 3 5 0.60
4 D 6 6 1.00
5 E 7 10 0.70
6 F 8 12 0.67
7 G 3 5 0.60
8:10:19 0.53

比率列の各値が小数点第 2 位に四捨五入されるようになりました。

例 2: dplyr を使用して比率を計算する

次のコードは、 dplyrパッケージを使用してマーク列と試行列の値間の比率を計算する方法を示しています。

 library (dplyr)

#add new column that shows ratio of makes to attempts
df <- df %>%
        mutate(ratio = makes/attempts)

#view updated data frame
df

  players makes attempts ratio
1 A 4 12 0.3333333
2 B 4 7 0.5714286
3 C 3 5 0.6000000
4 D 6 6 1.0000000
5 E 7 10 0.7000000
6 F 8 12 0.6666667
7 G 3 5 0.6000000
8:10:19 AM 0.5263158

また、 round()関数を使用して、比率値を特定の小数点以下の桁数に四捨五入することもできます。

 library (dplyr)

#add new column that shows ratio of makes to attempts, rounded to 2 decimal places
df <- df %>%
        mutate(ratio = round(makes/attempts, 2 ))

#view updated data frame
df

  players makes attempts ratio
1 to 4 12 0.33
2 B 4 7 0.57
3 C 3 5 0.60
4 D 6 6 1.00
5 E 7 10 0.70
6 F 8 12 0.67
7 G 3 5 0.60
8:10:19 0.53

比率列の各値が小数点第 2 位に四捨五入されるようになりました。

基本 R メソッドと dplyr メソッドは同じ結果を生成することに注意してください。

追加リソース

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

dplyrを使用して一意の値をフィルタリングする方法
dplyrを使って複数の条件でフィルタリングする方法
R の列の出現数をカウントする方法

コメントを追加する

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