W tym samouczku R zobaczymy, jak wykonywać operacje agregacji, grupując dane i zwracając medianę w zgrupowanych rzędach.
Ta operacja musi zostać wykonana na ramie danych. Utwórzmy ramkę danych z siedmioma wierszami i pięcioma kolumnami.
#Utworz market DataFrame, który ma 7 wierszy i 5 kolumn.
rynek = dane.Ramka (Market_id = C (1,2,1,4,4,4,5), nazwa_kształt = C („M1”, „M2”, „M3”,
„M4”, „M3”, „M4”, „M3”), Market_place = C („India”, „USA”, „India”, „Australia”, „USA”,
„Indie”, „Australia”), Market_Type = C („Grocery”, „Bar”, „Grocery”, „Restaurate”,
„Grocer”, „Bar”, „Grocery”), Market_Squarefeet = C (120 342,220,110,342,220,110)))
#Display the Market DataFrame
Drukuj (rynek)
Wynik
Teraz zwrócimy medianę w kolumnie, grupując podobne wartości w innej kolumnie.
Metoda 1: agregat ()
Tutaj używamy funkcji agregate (), która przyjmuje trzy parametry.
Składnia
Aggregate (DataFrame_Object $ Gruped, List (DataFrame_Object $ Grouping), FUN = Median)
Parametry
- Pierwszy parametr przyjmuje kolumnę zmienną (zgrupowaną), która zwraca medianę na grupę.
- Drugi parametr pobiera pojedynczą lub wieloma kolumnami (grupowanie) na liście tak, że wartości są zgrupowane w tych kolumnach.
- Trzeci parametr wymaga zabawy, co wymaga funkcji mediany, aby zwrócić medianę w zgrupowanych wartościach.
Przykład 1
W tym przykładzie grupujemy wartości w kolumnie Market_place i otrzymujemy medianę w kolumnie Market_Squarefeet zgrupowanej według kolumny Market_place.
#Utworz market DataFrame, który ma 7 wierszy i 5 kolumn.
rynek = dane.Ramka (Market_id = C (1,2,1,4,4,4,5), nazwa_kształt = C („M1”, „M2”, „M3”,
„M4”, „M3”, „M4”, „M3”), Market_place = C („India”, „USA”, „India”, „Australia”, „USA”,
„Indie”, „Australia”), Market_Type = C („Grocery”, „Bar”, „Grocery”, „Restaurate”,
„Grocer”, „Bar”, „Grocery”), Market_Squarefeet = C (120 342,220,110,342,220,110)))
#Zadzwoń medianę stóp kwadratowych w grupie, grupując Market_place
Drukuj (agregat (Market $ Market_Squarefeet, List (Market $ Market_place), FUN = Mediana))
Wynik
Widzimy, że podobne wartości (Australia, Indie i USA) w kolumnie Market_place są pogrupowane i zwracane medianę zgrupowanych wartości w kolumnie Market_Square Feet.
Przykład 2
W tym przykładzie grupujemy wartości w kolumnie Market_Type i otrzymujemy medianę w kolumnie Market_Squarefeet Grupowana według kolumny Market_Type.
#Utworz market DataFrame, który ma 7 wierszy i 5 kolumn.
rynek = dane.Ramka (Market_id = C (1,2,1,4,4,4,5), nazwa_kształt = C („M1”, „M2”, „M3”,
„M4”, „M3”, „M4”, „M3”), Market_place = C („India”, „USA”, „India”, „Australia”, „USA”,
„Indie”, „Australia”), Market_Type = C („Grocery”, „Bar”, „Grocery”, „Restaurate”,
„Grocer”, „Bar”, „Grocery”), Market_Squarefeet = C (120 342,220,110,342,220,110)))
#Zadzwoń medianę stóp kwadratowych w grupie, grupując Market_Type
Drukuj (agregate (Market $ Market_Squarefeet, List (Market $ Market_Type), FUN = Mediana))
Wynik
Widzimy, że podobne wartości (bar, sklep spożywczy i restaurator) w kolumnie Market_Type są zgrupowane i zwracane medianę zgrupowanych wartości w kolumnie Market_Square Feet.
Przykład 3
W tym przykładzie grupujemy wartości w kolumnach rynku_typu i rynku i otrzymujemy medianę w kolumnie Market_Squareeet zgrupowanej według kolumn Market_Type i Market_place.
#Utworz market DataFrame, który ma 7 wierszy i 5 kolumn.
rynek = dane.ramka (market_id = c (1,2,1,4,4,4,5), nazwa rynku = c („m1”, „m2”, „m3”, „m4”, „m3”,
„M4”, „M3”), Market_place = C („India”, „USA”, „India”, „Australia”, „USA”, „India”, „Australia”),
Market_Type = C („Grocery”, „Bar”, „Grocery”, „Restaurate”, „Grocery”, „Bar”, „Grocery”),
Market_squarefeet = C (120 342,220,110,342,220,110))
#Zadzwoń medianę stóp kwadratowych w grupie, grupując Market_place i Market_Type
Drukuj (agregat (Market $ Market_Squarefeet, List (Market $ Market_place, Market $ Market_Type), zabawne = mediana)))
Wynik
Widzimy, że podobne wartości z dwóch kolumn zostały zgrupowane i zwrócone medianę w każdej zgrupowanej wartości w kolumnie Market_Square Feet.
Metoda 2: DPLYR
Tutaj używamy funkcji Group_By () z funkcją Summarise_At (), która jest dostępna w bibliotece DPLYR do wykonania funkcji grupy_by () z medianą operacji.
Składnia
DataFrame_Object%>% grupa_by (grupowanie)%>% summarise_at (vars (zgrupowane), lista (name = mediana)))
Gdzie:
- grupa_by () bierze jeden parametr, i.mi. Grupowanie kolumny
- summarise_at () przyjmuje dwa parametry:
- Pierwszy parametr przyjmuje kolumnę zmienną (zgrupowaną), która zwraca medianę na grupę.
- Drugi parametr przechodzi funkcję mediany przez listę.
Na koniec najpierw podsumowujemy medianą i ładujemy ją do grupy. Następnie ładujemy zgrupowaną kolumnę do obiektu DataFrame.
Zwraca witbble.
Przykład 1
W tym przykładzie grupujemy wartości w kolumnie Market_place i otrzymujemy medianę w kolumnie Market_Squarefeet zgrupowanej według kolumny Market_place.
biblioteka („dplyr”)
#Zadzwoń medianę stóp kwadratowych w grupie, grupując Market_place
drukuj (rynek %> % grupy_by (Market_place) %> % summarise_at (vars (market_squarefeet), lista (name = mediana)))))))
Wynik
Widzimy, że podobne wartości (Australia, Indie i USA) w kolumnie Market_place są zgrupowane i zwracane mediana z każdej zgrupowanej wartości w kolumnie Market_Square Feet.
Przykład 2
W tym przykładzie grupujemy wartości w kolumnie Market_Type i otrzymujemy medianę w kolumnie Market_Squarefeet Grupowana według kolumny Market_Type.
biblioteka („dplyr”)
#Zadzwoń medianę stóp kwadratowych w grupie, grupując Market_Type
print (rynek %> % grupy_by (Market_Type) %> % summarise_at (vars (Market_Squarefeet), lista (name = mediana))))
Wynik
Widzimy, że podobne wartości (bar, sklep spożywczy i restauracja) w kolumnie Market_type są zgrupowane i zwracane mediana w każdej zgrupowanej wartości w kolumnie Market_Square Feet.
Wniosek
Możliwe jest zgrupowanie pojedynczych lub wielu kolumn z innymi kolumnami numerycznymi, aby zwrócić medianę z kolumny numerycznej za pomocą funkcji agregate (). Podobnie możemy użyć funkcji grupy () z funkcją summarise_at (), aby zgrupować podobne wartości w kolumnie i zwrócić medianę z zgrupowanych wartości w odniesieniu do innej kolumny.