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"