So berechnen sie verhältnisse in r (mit beispielen)
Mit den folgenden Methoden können Sie das Verhältnis zwischen den Werten zweier Spalten in R berechnen:
Methode 1: Verwenden Sie 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 )
Methode 2: dplyr verwenden
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 ))
In diesem Tutorial wird erläutert, wie die einzelnen Methoden in der Praxis angewendet werden. Dabei wird der folgende Datenrahmen verwendet, der die Gesamtzahl der von verschiedenen Basketballspielern ausgeführten und versuchten Schüsse zeigt:
#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.
Beispiel 1: Berechnen Sie Verhältnisse mithilfe der R-Basis
Der folgende Code zeigt, wie das Verhältnis zwischen den Werten der Spalten „Noten “ und „ Versuche “ mithilfe der R-Basis berechnet wird:
#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
Das Verhältnis von Versuchen zu Versuchen für den ersten Spieler beträgt 4/12 = 0,33 .
Mit anderen Worten: Der erste Spieler machte etwa 33 % seiner Schussversuche.
Die Verhältniswerte für alle anderen Spieler können wir auf die gleiche Weise interpretieren.
Wir können auch die Funktion „round()“ verwenden, um Verhältniswerte auf eine bestimmte Anzahl von Dezimalstellen zu runden:
#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
Jeder der Werte in der Verhältnisspalte wird nun auf zwei Dezimalstellen gerundet.
Beispiel 2: Verhältnisse mit dplyr berechnen
Der folgende Code zeigt, wie das Verhältnis zwischen den Werten in den Spalten „Markierungen “ und „ Versuche “ mithilfe des dplyr -Pakets berechnet wird:
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
Wir können auch die Funktion „round()“ verwenden, um Verhältniswerte auf eine bestimmte Anzahl von Dezimalstellen zu runden:
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
Jeder der Werte in der Verhältnisspalte wird nun auf zwei Dezimalstellen gerundet.
Beachten Sie, dass die Basis-R-Methode und die dplyr-Methode dieselben Ergebnisse liefern.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in R ausführen:
So filtern Sie eindeutige Werte mit dplyr
So filtern Sie mit dplyr nach mehreren Bedingungen
So zählen Sie die Anzahl der Vorkommen in Spalten in R