Jak przekonwertować tabelę na macierz w r (z przykładem)


Aby przekonwertować tabelę na macierz w R, możesz użyć następującej podstawowej składni:

 my_matrix <- matrix(my_table, ncol=ncol(my_table), dimnames=dimnames(my_table))

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: Konwertuj tablicę na macierz w R

Najpierw utwórzmy następującą ramkę danych w R, która pokazuje drużynę i pozycję różnych koszykarzy:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'C', 'G', 'F', 'C', 'C'))

#view data frame
df

  team position
1 AG
2 AG
3 AF
4 AC
5 BG
6 BF
7 BC
8 BC

Następnie utwórzmy tabelę wyświetlającą częstotliwość występowania każdej kombinacji zespołu i pozycji :

 #create frequency table of values for team and position
my_table <- table(df$team, df$position)

#view table
my_table

    CFG
  A 1 1 2
  B 2 1 1

Możemy użyć funkcji class() , aby potwierdzić, że obiekt o nazwie my_table rzeczywiście jest tabelą:

 #display class of my_table
class(my_table)

[1] “table”

Następnie możemy użyć następującej składni, aby przekonwertować tablicę na macierz:

 #convert table to matrix
my_matrix <- matrix(my_table, ncol=ncol(my_table), dimnames=dimnames(my_table))

#view matrix
my_matrix

    CFG
  A 1 1 2
  B 2 1 1

I możemy użyć funkcji class() , aby potwierdzić, że obiekt o nazwie my_matrix jest rzeczywiście macierzą:

 #display class of my_matrix
class(my_matrix)

[1] "matrix" "array"

Uwaga nr 1 : Argument ncol zapewnia, że liczba kolumn w macierzy odpowiada liczbie kolumn w tabeli.

Uwaga nr 2 : Argument dimnames gwarantuje, że nazwy wierszy i kolumn będą zgodne z nazwami w tabeli.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje w języku R:

Jak przekonwertować tabelę na ramkę danych w R
Jak przekonwertować macierz na wektor w R
Jak przekonwertować listę na macierz w R
Jak przekonwertować kolumnę ramki danych na wektor w R

Dodaj komentarz

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