So konvertieren sie eine zahl in einen faktor in r (mit beispielen)
Es gibt zwei Methoden, mit denen Sie eine numerische Variable in eine faktorielle Variable in R umwandeln können:
Methode 1: Verwenden Sie as.factor()
df$factor_variable <- as. factor (df$numeric_variable)
Dadurch wird die numerische Variable in eine Faktorvariable mit einer Anzahl von Ebenen umgewandelt, die der Anzahl der eindeutigen Werte in der ursprünglichen numerischen Variablen entspricht.
Methode 2: Verwenden Sie cut()
df$factor_variable <- cut(df$numeric_variable, 3 , labels=c(' lab1 ', ' lab2 ', ' lab3 '))
In diesem speziellen Beispiel wird die numerische Variable in eine faktorielle Variable umgewandelt, indem die numerische Variable in drei gleich große Werte „zerschnitten“ wird.
Die folgenden Beispiele zeigen, wie jede Methode in der Praxis mit dem folgenden Datenrahmen in R verwendet wird:
#create data frame
df <- data. frame (team=c('A', 'A', 'B', 'B', 'C', 'C', 'C', 'D'),
points=c(12, 15, 22, 29, 35, 24, 11, 24))
#view data frame
df
team points
1 to 12
2 to 15
3 B 22
4 B 29
5 C 35
6 C 24
7 C 11
8 D 24
#view structure of data frame
str(df)
'data.frame': 8 obs. of 2 variables:
$ team: chr "A" "A" "B" "B" ...
$ points: num 12 15 22 29 35 24 11 24
Beispiel 1: Konvertieren einer Zahl in einen Faktor mit as.factor()
Der folgende Code zeigt, wie man as.factor() verwendet, um die Punktspalte von numerisch in Faktor umzuwandeln:
#convert points column from numeric to factor
df$points <- as. factor (df$points)
#view updated data frame
df
team points
1 to 12
2 to 15
3 B 22
4 B 29
5 C 35
6 C 24
7 C 11
8 D 24
#view updated structure of data frame
str(df)
'data.frame': 8 obs. of 2 variables:
$ team: chr "A" "A" "B" "B" ...
$ points: Factor w/ 7 levels "11","12","15",..: 2 3 4 6 7 5 1 5
Wenn wir die Funktion str() verwenden, um die Struktur des Datenrahmens zu visualisieren, können wir sehen, dass die Punktespalte nun ein Faktor mit 7 verschiedenen Ebenen ist, die die 7 eindeutigen numerischen Werte in der Spalte darstellen.
Beispiel 2: Mit cut() eine Zahl in einen Faktor umwandeln
Der folgende Code zeigt, wie man mit cut() die Punktespalte von einer numerischen Variablen in eine dreistufige Faktorvariable umwandelt:
#convert points column from numeric to factor with three levels
df$points <- cut(df$points, 3 , labels=c(' OK ', ' Good ', ' Great '))
#view updated data frame
df
team points
1 A OK
2 A OK
3 B Good
4 B Great
5 C Great
6 C Good
7 C OK
8 D Good
#view updated structure of data frame
str(df)
'data.frame': 8 obs. of 2 variables:
$ team: chr "A" "A" "B" "B" ...
$ points: Factor w/ 3 levels "OK","Good","Great": 1 1 2 3 3 2 1 2
Aus dem Ergebnis können wir ersehen, dass die Punktevariable von einer numerischen Variablen in eine Faktorvariable mit drei Ebenen und den folgenden Beschriftungen umgewandelt wurde:
- „IN ORDNUNG“
- „GUT“
- „Großartig“
Beachten Sie, dass wir uns in diesem Beispiel für die Verwendung von drei Ebenen entschieden haben. Sie können die numerische Variable jedoch jederzeit in beliebig viele Ebenen unterteilen, indem Sie die 3 in der Funktion „cut()“ durch einen anderen Wert ersetzen.
Zusätzliche Ressourcen
Die folgenden Tutorials erklären, wie Sie andere häufige Aufgaben in R ausführen:
So konvertieren Sie Zahlen in Zeichen in R
So konvertieren Sie einen Faktor in R in einen numerischen Faktor
So konvertieren Sie einen Faktor in ein Zeichen in R