I denne R -opplæringen vil vi se hvordan vi skal utføre aggregeringsoperasjonene ved å gruppere dataene og returnere medianen i de grupperte radene.
Denne operasjonen må utføres på en dataaframe. La oss opprette DataFrame med syv rader og fem kolonner.
#Create et dataaframmarked som har 7 rader og 5 kolonner.
Markeds = data.Ramme (Market_id = C (1,2,1,4,3,4,5), Market_name = C ('M1', 'M2', 'M3',
'M4', 'M3', 'M4', 'M3'), Market_place = C ('India', 'USA', 'India', 'Australia', 'USA',
'India', 'Australia'), Market_Type = C ('Grocery', 'Bar', 'Grocery', 'Restainent',
'Dagligvare', 'Bar', 'dagligvare'), Market_SquareFeet = C (120.342.220.110.342.220.110)))
#Display The Market DataFrame
trykk (marked)
Resultat
Nå vil vi returnere medianen i en kolonne ved å gruppere lignende verdier i en annen kolonne.
Metode 1: Aggregat ()
Her bruker vi aggregatfunksjonen () som tar tre parametere.
Syntaks
Aggregate (DataFrame_Object $ gruppert, liste (DataFrame_Object $ Grouping), Fun = Median)
Parametere
- Den første parameteren tar variabelen (gruppert) som returnerer medianen per gruppe.
- Den andre parameteren tar en enkelt eller flere kolonner (gruppering) i en liste slik at verdiene er gruppert i disse kolonnene.
- Den tredje parameteren tar moro, som tar medianfunksjonen for å returnere medianen i de grupperte verdiene.
Eksempel 1
I dette eksemplet grupperer vi verdiene i kolonnen Market_Place og får medianen i Market_SquareFeet -kolonnen gruppert av Market_place -kolonnen.
#Create et dataaframmarked som har 7 rader og 5 kolonner.
Markeds = data.Ramme (Market_id = C (1,2,1,4,3,4,5), Market_name = C ('M1', 'M2', 'M3',
'M4', 'M3', 'M4', 'M3'), Market_place = C ('India', 'USA', 'India', 'Australia', 'USA',
'India', 'Australia'), Market_Type = C ('Grocery', 'Bar', 'Grocery', 'Restainent',
'dagligvare', 'Bar', 'dagligvare'), Market_SquareFeet = C (120,342,220,110,342,220,110)))
#Få medianen av kvadratmeter i gruppen ved å gruppere Market_place
Print (Aggregate (Market $ Market_SquareFeet, List (Market $ Market_Place), Fun = Median))
Resultat
Vi kan se at de lignende verdiene (Australia, India og USA) i markedskolonnen er gruppert og returnert medianen til de grupperte verdiene i markedet for markedet.
Eksempel 2
I dette eksemplet grupperer vi verdiene i kolonnen Market_Type og får medianen i Market_SquareFeet -kolonnen gruppert av Market_Type -kolonnen.
#Create et dataaframmarked som har 7 rader og 5 kolonner.
Markeds = data.Ramme (Market_id = C (1,2,1,4,3,4,5), Market_name = C ('M1', 'M2', 'M3',
'M4', 'M3', 'M4', 'M3'), Market_place = C ('India', 'USA', 'India', 'Australia', 'USA',
'India', 'Australia'), Market_Type = C ('Grocery', 'Bar', 'Grocery', 'Restainent',
'dagligvare', 'Bar', 'dagligvare'), Market_SquareFeet = C (120,342,220,110,342,220,110)))
#få medianen av kvadratmeter i gruppe ved å gruppere markeds_type
Print (Aggregate (Market $ Market_SquareFeet, List (Market $ Market_Type), Fun = Median))
Resultat
Vi kan se at de lignende verdiene (bar, dagligvare og restaurant) i kolonnen Market_Type er gruppert og returnert medianen til de grupperte verdiene i Market_square Feet -kolonnen.
Eksempel 3
I dette eksemplet grupperer vi verdiene i markedet for markeds_type og Market_place og får medianen i markedet_squarefeet -kolonnen gruppert av Market_Type og Market_place Columns.
#Create et dataaframmarked som har 7 rader og 5 kolonner.
Markeds = data.Ramme (Market_id = C (1,2,1,4,3,4,5), Market_name = C ('M1', 'M2', 'M3', 'M4', 'M3',
'M4', 'M3'), Market_place = C ('India', 'USA', 'India', 'Australia', 'USA', 'India', 'Australia'),
Market_Type = C ('dagligvare', 'Bar', 'dagligvare', 'Restainent', 'Grocery', 'Bar', 'Grocery'),
Market_SquareFeet = C (120.342.220.110.342.220.110))
#Få medianen av kvadratmeter i gruppen ved å gruppere Market_place og Market_Type
Print (Aggregate (Market $ Market_SquareFeet, List (Market $ Market_Place, Market $ Market_Type), Fun = Median))
Resultat
Vi kan se at de lignende verdiene fra de to kolonnene ble gruppert og returnert medianen i hver gruppert verdi i Market_Square Feet -kolonnen.
Metode 2: DPLYR
Her bruker vi Group_by () -funksjonen med Summarise_at () -funksjonen som er tilgjengelige i DPLYR -biblioteket for å utføre Group_by () FUNTION med medianoperasjonen.
Syntaks
DataFrame_Object%>% gruppe_by (gruppering)%>% oppsummering_at (vars (gruppert), liste (navn = median))
Hvor:
- gruppe_by () tar en parameter, i.e. grupperingskolonne
- Summarise_at () tar to parametere:
- Den første parameteren tar variabelen (gruppert) som returnerer medianen per gruppe.
- Den andre parameteren tar medianfunksjonen gjennom listen.
Til slutt oppsummerer vi først median og laster den inn i gruppen. Deretter laster vi den grupperte kolonnen i DataFrame -objektet.
Det returnerer en Tibble.
Eksempel 1
I dette eksemplet grupperer vi verdiene i kolonnen Market_Place og får medianen i Market_SquareFeet -kolonnen gruppert av Market_place -kolonnen.
Bibliotek ("DPLYR")
#Få medianen av kvadratmeter i gruppen ved å gruppere Market_place
Print (Market %> % group_by (Market_place) %> % Summarise_at (vars (Market_squareFeet), liste (navn = median)))
Resultat
Vi kan se at de lignende verdiene (Australia, India og USA) i markedskolonnen er gruppert og returnert medianen fra hver gruppert verdi i markedet for markedet.
Eksempel 2
I dette eksemplet grupperer vi verdiene i kolonnen Market_Type og får medianen i Market_SquareFeet -kolonnen gruppert av Market_Type -kolonnen.
Bibliotek ("DPLYR")
#få medianen av kvadratmeter i gruppe ved å gruppere markeds_type
Print (Market %> % GROUP_BY (Market_Type) %> % Summarise_at (vars (Market_squareFeet), liste (name = median)))
Resultat
Vi kan se at de lignende verdiene (bar, dagligvarebutikk og restaurant) i markedet for markeds_type er gruppert og returnert medianen i hver gruppert verdi i markedet for markedet_square føtter.
Konklusjon
Det er mulig å gruppere enkelt- eller flere kolonner med de andre numeriske kolonnene for å returnere medianen fra den numeriske kolonnen ved å bruke aggregat () -funksjonen. Tilsvarende kan vi bruke GroupBy () -funksjonen med Summarise_at () -funksjonen for å gruppere de lignende verdiene i en kolonne og returnere medianen fra de grupperte verdiene med hensyn til en annen kolonne.