Wprowadzenie do czynników w R.

W R możemy przetwarzać różne typy zmiennych. Możemy również przyjąć czynnik jako rodzaj zmiennej, która przyjmuje tylko ograniczoną liczbę przypisanych wartości; taka zmienna nazywana również zmienną kategorialną.

Zalety czynnika

  • Może przechowywać zarówno liczby całkowite, jak i ciągi

1. W przypadku liczb całkowitych

data = c(5, 6, 6, 6, 7, 5, 7, 6, 7, 5, 6, 7)
factor_data = factor(data)
factor_data

Wynik

2. W przypadku strun

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"))
y

Wynik

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y

Wynik

  • Bardzo przydatne, gdy kolumny mają ograniczoną liczbę unikalnych wartości
NazwaTryb podróży
JanCiężarówka
ShawSamochód
ZawietrznyCykl
MusanRower
LozyCiężarówka
RiyaSamochód
MijCykl

Tutaj mamy ograniczoną liczbę unikalnych wartości w kolumnie 2.

  • Pomaga korygować ciągi za pomocą literówek (błędy pisowni).

Jak utworzyć czynnik w R?

Możemy tworzyć czynniki, używając kodu współczynniki ().

Dowiedz się więcej o factor ().

factor(x = character(), levels, labels = levels, ordered = is.ordered(x))

Gdzie,

X to zbiór danych kategorycznych. Jak już omówiliśmy, powinien to być ciąg znaków lub liczby całkowite.

Poziomy są zestawem wartości, które X może przyjąć. Poziomy zawierają wszystkie unikalne wartości dostępne w kolumnie (x).

Etykiety jako nazwa sugerują etykietowanie danych dostępnych w X.

Zamówienie określa, czy poziomy powinny być zamawiane w dowolnej kolejności.

Przykład 1

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike"))
y

Wynik:

Przykład nr 2

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y

Wynik:

W przykładzie 2 widzimy, że możemy również zdefiniować „Poziomy”.

Teraz zobaczmy więcej o czynnikach, używając Str (y).

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y

Wynik:

str(y)

Wynik:

Wyraźnie widać, że czynniki są przechowywane jako wektory całkowite, a poziomy są przechowywane jako wektor znakowy, a poszczególne elementy są faktycznie przechowywane jako wskaźniki.

  • Teraz zobaczymy, jak uzyskać dostęp do składników czynnika

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y

Wynik:

y(2) # helps to access 2nd element

Wynik:

x(c(3, 4)) # helps to access 3rd and 4th element

Wynik

x(-1) # access all except 1st element

Wynik:

  • Teraz zobaczymy, jak zmodyfikować czynnik.

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y

Wynik:

y(3) = "Truck" #modifty third element
y

Wynik

Dodając do czynnika:

y(10) = "Car"
y

Wynik:

Pamiętaj, że nie możemy przypisać niczego do czynnika, który nie jest częścią poziomów.

y(4) = "Plane"Warning message:In `(<-.factor`(`*tmp*`, 4, value = "Plane") : invalid factor level, NA generated

Wynik:

W tym przykładzie widzimy, że „płaszczyzna” nie jest częścią naszego poziomu, dlatego otrzymaliśmy komunikat ostrzegawczy, który mówi, że „płaszczyzna” jest nieprawidłowym poziomem czynnika.

Konwertuj dane na czynnik

Dane są dostępne w dużych ilościach i za każdym razem trudno jest zapisać pełne słowo w kodzie, więc w tym celu najpierw przekonwertujemy dane na czynnik, a następnie przekształcimy czynnik na znak lub liczbę zgodnie z naszą wygodą.

Pracujmy teraz nad prawdziwymi danymi. Tam, gdzie mamy 50 obserwacji, a wnioskodawcy podają kierunek swojej pracy. Tak jak John podróżuje na północ, aby wykonywać obowiązki służbowe, lub Sam jedzie na południe, aby wykonywać obowiązki służbowe.

direction <- c("West", "East", "North", "West", "South", "East", "South", "East", "South", "East", "South", "West", "South", "East", "South", "East", "South", "South", "West", "East", "South", "West", "South", "East", "South", "East", "South", "West", "East", "South", "West", "South", "East", "South", "East", "South", "South", "West", "South", "West", "East", "South", "West", "South", "East", "South", "East", "South", "South", "West")
direction.factor = factor(direction)
direction.factor

Wynik:

Poziomy: wschód północ południe zachód

Teraz, jeśli chcemy przekonwertować czynnik na wektor znaków:

Użyjemy kodu as.character ().

as.character(direction.factor)

Wynik:

Lub chcemy przekonwertować czynnik na wektor numeryczny:

Użyjemy kodu as.numeric ().

as.numeric(direction.factor)

Wynik:

Polecane artykuły

To jest przewodnik po Czynnikach w R. Tutaj omawiamy wprowadzenie, Zalety czynnika, Jak stworzyć czynnik w R wraz z Wyjściami. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. Spark SQL Dataframe
  2. R Typy danych
  3. Wielowymiarowa baza danych
  4. Potok danych AWS

Kategoria: