Jak utworzyć zmienną kategoryczną z kontynuacji w r
Możesz użyć funkcji cut() w R, aby utworzyć zmienną jakościową ze zmiennej ciągłej.
Ta funkcja wykorzystuje następującą podstawową składnię:
df$cat_variable <- cut(df$continuous_variable, breaks=c(5, 10, 15, 20, 25), labels=c(' A ', ' B ', ' C ', ' D '))
Należy pamiętać, że breaks określa wartości, przez które należy podzielić zmienną ciągłą, a etykiety określa etykietę, którą należy nadać wartościom nowej zmiennej kategorycznej.
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: tworzenie zmiennej kategorycznej z kontinuum w R
Załóżmy, że mamy następującą ramkę danych w 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.
Obecnie punkty są zmienną ciągłą.
Możemy użyć funkcji cut() , aby pociąć ją na zmienną kategoryczną:
#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
Stworzyliśmy nową zmienną kategoryczną o nazwie kot , która klasyfikuje każdy zespół w ramce danych jako Zły, OK, Dobry lub Doskonały na podstawie ich punktów .
Możemy użyć funkcji class() , aby sprawdzić klasę tej nowej zmiennej:
#check class of 'cat' column
class(df$cat)
[1] “factor”
Widzimy, że zmienna cat jest czynnikiem.
Możemy również użyć funkcji table() do zliczenia wystąpień każdej kategorii w zmiennej cat :
#count occurrences of each category in 'cat' variable
table(df$cat)
Bad OK Good Great
1 2 2 3
Zauważ, że jeśli nie podasz argumentu label do funkcji cut() , R po prostu użyje zakresu wartości interwałów jako etykiet:
#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]
W niektórych przypadkach możesz preferować tę opcję zamiast używania etykiet niestandardowych.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje w języku R:
Jak przekonwertować zmienne kategoryczne na numeryczne w R
Jak utworzyć zmienne kategoryczne w R
Jak wykreślić dane kategoryczne w R