Factor in R: Kategorikus változók és folyamatos változók
Mi az a faktor az R-ben?
Tényező az R-ben Az adatok kategorizálására és tárolására szolgáló változó, korlátozott számú különböző értékkel. Az adatokat egész értékek vektoraként tárolja. Az R tényezője kategorikus változóként is ismert, amely a karakterlánc és az egész adatértékeket is szintként tárolja. A faktort leginkább statisztikai modellezésben és feltáró adatelemzésben használják R-vel.
Egy adatkészletben kétféle változót különböztethetünk meg: kategorikus és a folyamatos.
- Az R kategorikus változóinak leíró statisztikájában az érték korlátozott, és általában egy adott véges csoporton alapul. Például az R kategorikus változója lehet országok, év, nem, foglalkozás.
- A folytonos változó azonban bármilyen értéket felvehet, egész számtól tizedesjegyig. Például rendelkezhetünk egy részvény bevételével, árával stb.
Kategorikus változók
Kategorikus változók in R faktorban tárolódnak. Nézzük meg az alábbi kódot, hogy egy karakterváltozót faktorváltozóvá alakítsunk át az R-ben. A gépi tanulási algoritmus nem támogatja a karaktereket, és az egyetlen módja a karakterlánc egész számmá alakítása.
Szintaxis
factor(x = character(), levels, labels = levels, ordered = is.ordered(x))
érvek:
- x: Kategorikus adatok vektora R-ben. Karakterláncnak vagy egész számnak kell lennie, nem decimálisnak.
- Szintek: Lehetséges értékek vektora x-szel. Ez az érv nem kötelező. Az alapértelmezett érték az x vektor elemeinek egyedi listája.
- Címkék: Adjon hozzá egy címkét az x kategorikus adatokhoz az R-ben. Például az 1 felveheti a „férfi”, míg a 0 a „nő” címkét.
- megrendelt: Határozza meg, hogy a szinteket az R-ben kategorikus adatokban kell-e rendezni.
Példa:
Hozzunk létre egy faktor adatkeretet.
# Create gender vector gender_vector <- c("Male", "Female", "Female", "Male", "Male") class(gender_vector) # Convert gender_vector to a factor factor_gender_vector <-factor(gender_vector) class(factor_gender_vector)
output:
## [1] "character" ## [1] "factor"
Fontos átalakítani a húr faktorváltozóvá az R-ben, amikor gépi tanulási feladatot hajtunk végre.
Az R kategorikus változója felosztható nominális kategorikus változó és a sorszámú kategorikus változó.
Nominális kategorikus változó
Egy kategorikus változónak több értéke van, de a sorrend nem számít. Például férfi vagy nő. Az R kategorikus változóinak nincs sorrendje.
# Create a color vector color_vector <- c('blue', 'red', 'green', 'white', 'black', 'yellow') # Convert the vector to factor factor_color <- factor(color_vector) factor_color
output:
## [1] blue red green white black yellow ## Levels: black blue green red white yellow
A faktor_színből nem tudunk sorrendet mondani.
Sorrendi kategorikus változó
Az ordinális kategorikus változóknak van természetes sorrendje. Megadhatjuk a sorrendet, a legalacsonyabbtól a legmagasabbig a sorrend = TRUE és a legmagasabbtól a legalacsonyabbig, ha a sorrend = FALSE.
Példa:
Az összegzés segítségével megszámolhatjuk az egyes R-beli faktorváltozók értékét.
# Create Ordinal categorical vector day_vector <- c('evening', 'morning', 'afternoon', 'midday', 'midnight', 'evening') # Convert `day_vector` to a factor with ordered level factor_day <- factor(day_vector, order = TRUE, levels =c('morning', 'midday', 'afternoon', 'evening', 'midnight')) # Print the new variable factor_day
output:
## [1] evening morning afternoon midday midnight evening
Példa:
## Levels: morning < midday < afternoon < evening < midnight # Append the line to above code # Count the number of occurence of each level summary(factor_day)
output:
## morning midday afternoon evening midnight ## 1 1 1 2 1
R a szintet 'reggel'től 'éjfélig' rendelte a szintek zárójelében megadottak szerint.
Folyamatos változók
A folyamatos osztályváltozók az R alapértelmezett értékei. A rendszer numerikus vagy egész számként tárolja őket. Az alábbi adatkészletből láthatjuk. Az mtcars egy beépített adatkészlet. Információkat gyűjt a különböző típusú autókról. Importálhatjuk az mtcars használatával, és ellenőrizhetjük az mpg változó osztályát, mérföld per gallon. Számértéket ad vissza, folyamatos változót jelezve.
dataset <- mtcars class(dataset$mpg)
teljesítmény
## [1] "numeric"