Jak przekonwertować współczynnik na numeryczny w r (z przykładami)


Możemy użyć następującej składni, aby przekonwertować wektor czynnikowy na wektor liczbowy w R:

 numeric_vector <- as. numeric (as. character (factor_vector))

Musimy najpierw przekonwertować wektor czynnikowy na wektor znakowy, a następnie na wektor liczbowy. Dzięki temu wektor numeryczny zawiera rzeczywiste wartości liczbowe, a nie poziomy współczynników.

W tym samouczku przedstawiono kilka przykładów praktycznego wykorzystania tej funkcji.

Przykład 1: Konwersja wektora współczynnika na numeryczny

Poniższy kod pokazuje, jak przekonwertować wektor czynnikowy na wektor liczbowy:

 #define factor vector
factor_vector <- factor(c(1, 5, 7, 8))

#convert factor vector to numeric vector
numeric_vector <- as. numeric (as. character (factor_vector))

#view class
class(numeric_vector)

[1] "digital"

Przykład 2: Konwertowanie kolumny współczynnika na numeryczną

Poniższy kod pokazuje, jak przekonwertować określoną kolumnę w ramce danych współczynnikowych na liczbę:

 #create data frame
df <- data. frame (a = factor(c(1, 5, 7, 8)),
b = c(28, 34, 35, 36))

#convert column 'a' from factor to numeric
df$a <- as. numeric (as. character (df$a))

#view new data frame
df

  ab
1 1 28
2 5 34
3 7 35
4 8 36

#confirm class of numerical vector
class(df$a)

[1] "digital"

Przykład 3: Konwersja kolumn wieloczynnikowych na liczby

Poniższy kod pokazuje, jak przekonwertować wszystkie kolumny współczynników w ramce danych współczynników na wartości liczbowe:

 #create data frame
df <- data. frame (a = factor(c(1, 5, 7, 8)),
                 b = factor(c(2, 3, 4, 5)),
                 c = c('A', 'B', 'C', 'D'),
                 d = c(45, 56, 54, 57))

#display classes of each column
sapply(df, class)

       abcd
"factor" "factor" "character" "numeric" 

#identify all factor columns
x <- sapply (df, is. factor )

#convert all factor columns to numeric
df[, x] <- as. data . frame ( apply (df[, x], 2, as.numeric ))

#display classes of each column
sapply (df, class)

        abcd
"numeric" "numeric" "character" "numeric"

Ten kod wprowadził następujące zmiany w kolumnach ramki danych:

  • Kolumna a: Od listonosza do postaci cyfrowej
  • Kolumna b: Od listonosza do postaci cyfrowej
  • Kolumna c: Bez zmian (ponieważ był to znak)
  • Kolumna d: Bez zmian (ponieważ była już liczbowa)

Używając funkcji Apply() i sapply() mogliśmy przekonwertować tylko kolumny współczynnikowe na kolumny liczbowe, pozostawiając wszystkie pozostałe kolumny bez zmian.

Dodatkowe zasoby

Jak przekonwertować znak na współczynnik w R
Jak przekonwertować współczynnik na znak w R
Jak przekonwertować znak na znacznik czasu w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *