Jak korzystać z funkcji tapply() w r (z przykładami)


Funkcji tapply() w R można użyć do zastosowania funkcji do wektora pogrupowanego według innego wektora.

Ta funkcja wykorzystuje następującą podstawową składnię:

tapper(X, INDEX, ZABAWA, ..)

Złoto:

  • X : wektor, do którego ma zostać zastosowana funkcja
  • INDEKS : wektor do grupy
  • ZABAWA : Funkcja do zastosowania

Poniższe przykłady pokazują, jak w praktyce wykorzystać tę funkcję z następującą ramką danych w R:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'),
                 points=c(14, 19, 13, 8, 15, 15, 17, 19),
                 assists=c(4, 3, 3, 5, 9, 14, 15, 12))

#view data frame
df

  team position points assists
1 AG 14 4
2 AG 19 3
3 AF 13 3
4 AF 8 5
5 BG 15 9
6 BG 15 14
7 BF 17 15
8 BF 19 12

Przykład 1: zastosowanie funkcji do zmiennej pogrupowanej według zmiennej

Poniższy kod pokazuje, jak używać funkcji tapply() do obliczania średniej wartości punktów , pogrupowanej według zespołu :

 #calculate mean of points, grouped by team
tapply(df$points, df$team, mean)

   AB
13.5 16.5

Z wyniku możemy zobaczyć:

  • Średnia wartość punktowa drużyny A wynosi 13,5 .
  • Średnia wartość punktowa drużyny B wynosi 16,5 .

Pamiętaj, że po funkcji możesz także dodać dodatkowe argumenty, np . na.rm , aby wskazać, że chcesz obliczyć średnią ignorując wartości NA w ramce danych:

 #calculate mean of points, grouped by team
tapply(df$points, df$team, mean, na. rm = TRUE )

   AB
13.5 16.5

Przykład 2: zastosowanie funkcji do zmiennej pogrupowanej według kilku zmiennych

Poniższy kod pokazuje, jak używać funkcji tapply() do obliczania średniej wartości punktów , pogrupowanych według zespołu i pozycji :

 # calculate mean of points, grouped by team and position
tapply(df$points, list(df$team, df$position), mean, na. rm = TRUE )

FG
A 10.5 16.5
B 18.0 15.0

Z wyniku możemy zobaczyć:

  • Średnia wartość punktowa drużyny A i pozycji F wynosi 10,5 .
  • Średnia wartość punktowa drużyny A i pozycji G wynosi 16,5 .
  • Średnia wartość punktowa drużyny B i pozycji F wynosi 18,0 .
  • Średnia wartość punktowa drużyny B i pozycji G wynosi 15,0 .

Uwaga : w tym przykładzie pogrupowaliśmy według dwóch zmiennych, ale w funkcji list() możemy umieścić dowolną liczbę zmiennych, aby pogrupować jeszcze więcej zmiennych.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak korzystać z innych typowych funkcji w R:

Jak korzystać z funkcji dim() w R
Jak korzystać z funkcji table() w R
Jak korzystać z funkcji znak() w R

Dodaj komentarz

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