Jak używać funkcji split() w r do dzielenia danych
Funkcji split() w języku R można używać do dzielenia danych na grupy w oparciu o poziomy czynników.
Ta funkcja wykorzystuje następującą podstawową składnię:
podziel(x, f, …)
Złoto:
- x : Nazwa wektora lub bloku danych do podziału na grupy
- f : Czynnik definiujący grupowania
Poniższe przykłady pokazują, jak używać tej funkcji do dzielenia wektorów i ramek danych na grupy.
Przykład 1: Użyj funkcji split(), aby podzielić wektor na grupy
Poniższy kod pokazuje, jak podzielić wektor wartości danych na grupy w oparciu o wektor poziomów czynników:
#create vector of data values data <- c(1, 2, 3, 4, 5, 6) #create vector of groupings groups <- c('A', 'B', 'B', 'B', 'C', 'C') #split vector of data values into groups split(x = data, f = groups) $A [1] 1 $B [1] 2 3 4 $C [1] 5 6
Rezultatem są trzy grupy.
Pamiętaj, że możesz także użyć indeksowania, aby pobrać określone grupy:
#split vector of data values into groups and only display second group
split(x = data, f = groups)[2]
$B
[1] 2 3 4
Przykład 2: Użyj funkcji split(), aby podzielić ramkę danych na grupy
Załóżmy, że mamy następującą ramkę danych w R:
#create data frame df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'), position=c('G', 'G', 'F', 'G', 'F', 'F'), points=c(33, 28, 31, 39, 34, 44), assists=c(30, 28, 24, 24, 28, 19)) #view data frame df team position points assists 1 GA 33 30 2 AG 28 28 3 AF 31 24 4 BG 39 24 5 BF 34 28 6 BF 44 19
Możemy użyć poniższego kodu, aby podzielić ramkę danych na grupy w oparciu o zmienną „team”:
#split data frame into groups based on 'team'
split(df, f = df$team)
$A
team position points assists
1 GA 33 30
2 AG 28 28
3 AF 31 24
$B
team position points assists
4 BG 39 24
5 BF 34 28
6 BF 44 19
Rezultatem są dwie grupy. Pierwsza zawiera tylko linie, w których „zespół” równa się A, a druga zawiera tylko linie, w których „zespół” równa się B.
Należy pamiętać, że możemy również podzielić dane na grupy, korzystając ze zmiennych wieloczynnikowych. Na przykład poniższy kod pokazuje, jak podzielić dane na grupy na podstawie zmiennych „zespół” i „pozycja”:
#split data frame into groups based on 'team' and 'position' variables
split(df, f = list(df$team, df$position))
$AF
team position points assists
3 AF 31 24
$BF
team position points assists
5 BF 34 28
6 BF 44 19
$AG
team position points assists
1 GA 33 30
2 AG 28 28
$BG
team position points assists
4 BG 39 24
Rezultatem są cztery grupy.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak korzystać z innych typowych funkcji w R:
Jak korzystać z funkcji podsumowania() w R
Jak korzystać z funkcji replikacji () w R
Jak korzystać z funkcji match() w R