Jak transponować ramkę danych za pomocą dplyr
Do transpozycji ramki danych przy użyciu pakietu dplyr w R można użyć następującej podstawowej składni:
library (dplyr) library (tidyr) df %>% pivot_wider(names_from = column1, values_from = column2)
Argument Names_from określa wartości, które mają zostać użyte w nazwach kolumn w transponowanej ramce danych, a argument Values_from określa wartości komórek, które mają zostać użyte w transponowanej ramce danych.
Należy zauważyć, że operator potoku ( %>% ) pochodzi z pakietu dplyr , natomiast funkcja przestawna() pochodzi z pakietu Tidyr .
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: transponuj ramkę danych za pomocą dplyr
Załóżmy, że mamy następującą ramkę danych w R, która zawiera informacje o różnych drużynach koszykówki:
#create data frame df <- data. frame (team=c('Mavs', 'Nets', 'Kings', 'Lakers'), dots=c(99, 104, 119, 113)) #view data frame df team points 1 Mavs 99 2 Nets 104 3 Kings 119 4 Lakers 113
Załóżmy teraz, że chcemy transponować ramkę danych, tak aby nazwy zespołów były używane jako nazwy kolumn, a wartości punktowe jako wartości komórek wewnątrz ramki danych.
W tym celu możemy użyć następującej składni:
library (dplyr) library (tidyr) #transpose data frame df %>% pivot_wider(names_from = team, values_from = points) # A tibble: 1 x 4 Mavs Nets Kings Lakers 1 99 104 119 113
Ramka danych została transponowana w taki sposób, że nazwy zespołów są używane jako kolumny, a wartości punktowe są używane jako wartości komórek w ramce danych.
Należy zauważyć, że wynikowa ramka danych zawiera teraz 1 wiersz i 4 kolumny.
Powiązane: Wprowadzenie do funkcji obrotowej() w języku R
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania za pomocą dplyr:
Jak filtrować wiersze zawierające określony ciąg za pomocą dplyr
Jak obliczyć częstotliwości względne za pomocą dplyr
Jak wybrać pierwszy wiersz według grupy za pomocą dplyr