So erstellen sie eine kategoriale variable aus continue in r
Sie können die Funktion cut() in R verwenden, um eine kategoriale Variable aus einer kontinuierlichen Variablen zu erstellen.
Diese Funktion verwendet die folgende grundlegende Syntax:
df$cat_variable <- cut(df$continuous_variable, breaks=c(5, 10, 15, 20, 25), labels=c(' A ', ' B ', ' C ', ' D '))
Beachten Sie, dass breaks die Werte angibt, durch die die kontinuierliche Variable geteilt werden soll, und labels die Bezeichnung angibt, die den Werten der neuen kategorialen Variablen gegeben werden soll.
Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.
Beispiel: Erstellen einer kategorialen Variablen aus einem Kontinuum in R
Angenommen, wir haben den folgenden Datenrahmen in R:
#create data frame
df <- data. frame (team=c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'),
points=c(78, 82, 86, 94, 99, 104, 109, 110))
#view data frame
df
team points
1 To 78
2 B 82
3 C 86
4 D 94
5 E 99
6 F 104
7 G 109
8:11 a.m.
Derzeit sind Punkte eine kontinuierliche Variable.
Wir können die Funktion cut() verwenden, um es in eine kategoriale Variable zu schneiden:
#add new column that cuts 'points' into categories
df$cat <- cut(df$points,
breaks=c(70, 80, 90, 100, 110),
labels=c('Bad', 'OK', 'Good', 'Great'))
#view updated data frame
df
team points cat
1 To 78 Bad
2 B 82 OK
3 C 86 OK
4 D 94 Good
5 E 99 Good
6 F 104 Great
7 G 109 Great
8:110 Great
Wir haben eine neue kategoriale Variable namens cat erstellt, die jedes Team im Datenrahmen basierend auf seinen Punkten als „Schlecht“, „OK“, „Gut“ oder „Ausgezeichnet“ einstuft.
Mit der Funktion class() können wir die Klasse dieser neuen Variablen überprüfen:
#check class of 'cat' column
class(df$cat)
[1] “factor”
Wir sehen, dass die Variable cat ein Faktor ist.
Wir können auch die Funktion table() verwenden, um das Vorkommen jeder Kategorie in der cat- Variablen zu zählen:
#count occurrences of each category in 'cat' variable
table(df$cat)
Bad OK Good Great
1 2 2 3
Beachten Sie, dass R einfach den Bereich der Intervallwerte als Beschriftungen verwendet, wenn Sie der Funktion cut() kein Labels- Argument bereitstellen:
#add new column that cuts 'points' into categories
df$cat <- cut(df$points, breaks=c(70, 80, 90, 100, 110))
#view updated data frame
df
team points cat
1 A 78 (70.80]
2 B 82 (80.90]
3 C 86 (80.90]
4 D 94 (90,100]
5 E 99 (90,100]
6 F 104 (100,110]
7 G 109 (100,110]
8:110 (100,110]
In einigen Fällen ist dies möglicherweise der Verwendung benutzerdefinierter Etiketten vorzuziehen.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie andere gängige Vorgänge in R ausgeführt werden:
So konvertieren Sie kategoriale Variablen in numerisch in R
So erstellen Sie kategoriale Variablen in R
So zeichnen Sie kategoriale Daten in R auf