Hvordan utføre aggregeringsoperasjon med Groupby Sum

Hvordan utføre aggregeringsoperasjon med Groupby Sum
I denne R -opplæringen vil vi se hvordan vi skal utføre aggregeringsoperasjonene ved å gruppere dataene og returnere den totale summen for 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 den totale summen av en kolonne ved å gruppere de lignende verdiene 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 = Sum)

Parametere

  1. Den første parameteren tar variabelen (gruppert) som returnerer summen av verdier per gruppe.
  2. Den andre parameteren tar en enkelt eller flere kolonner (gruppering) i en liste slik at verdiene er gruppert i disse kolonnene.
  3. Den tredje parameteren tar moro, som tar sumfunksjonen for å returnere den totale summen på de grupperte verdiene.

Eksempel 1
I dette eksemplet grupperer vi verdiene i kolonnen Market_Place og får summen av verdiene i markedet_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å summen av kvadratmeter i gruppen ved å gruppere Market_place
Print (Aggregate (Market $ Market_SquareFeet, List (Market $ Market_Place), Fun = Sum))

Resultat

Vi kan se at de lignende verdiene (Australia, India og USA) i markedskolonnen er gruppert og returnert summen av de grupperte verdiene i markedet for markedet.

Eksempel 2
I dette eksemplet grupperer vi verdiene i kolonnen Market_Type og får summen 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å summen av kvadratmeter i gruppen ved å gruppere Market_Type
Print (Aggregate (Market $ Market_SquareFeet, List (Market $ Market_Type), Fun = Sum))

Resultat

Vi kan se at de lignende verdiene (bar, dagligvarebutikk og restaurant) i kolonnen Market_Type er gruppert og returnert summen av de grupperte verdiene i markedet for markedet.

Eksempel 3
I dette eksemplet grupperer vi verdiene i markedet for markeds_type og markedsplasser og får summen av verdiene i markedet_squarefeet kolonne gruppert av Market_Type og Market_place kolonnene.

#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å summen av kvadratmeter i gruppen ved å gruppere Market_place og Market_Type
Print (Aggregate (Market $ Market_SquareFeet, List (Market $ Market_Place, Market $ Market_Type), Fun = Sum))

Resultat

Vi kan se at de lignende verdiene fra de to kolonnene ble gruppert og returnert summen av de grupperte verdiene 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 -funksjonen med sumoperasjonen.

Syntaks

DataFrame_Object%>% group_by (gruppering)%>% oppsummering_at (vars (gruppert), liste (navn = sum))

Hvor:

  1. gruppe_by () tar en parameter, i.e. grupperingskolonne
  2. Summarise_at () tar to parametere:
  1. Den første parameteren tar variabelen (gruppert) som returnerer summen av verdiene per gruppe.
  2. Den andre parameteren tar sumfunksjonen gjennom listen.

Til slutt oppsummerer vi først med summen 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 summen av verdiene i markedet_squarefeet -kolonnen gruppert av Market_place -kolonnen.

Bibliotek ("DPLYR")
#Få summen av kvadratmeter i gruppen ved å gruppere Market_place
Print (Market %> %GROUP_BY (Market_Place) %> %
Summarise_at (vars (Market_squareFeet), liste (navn = sum))))

Resultat

Vi kan se at de lignende verdiene (Australia, India og USA) i markedskolonnen er gruppert og returnert summen av de grupperte verdiene i markedet for markedet.

Eksempel 2
I dette eksemplet grupperer vi verdiene i kolonnen Market_Type og får summen av verdiene i Market_SquareFeet -kolonnen gruppert av Market_Type -kolonnen.

Bibliotek ("DPLYR")
#Få summen av kvadratmeter i gruppen ved å gruppere Market_Type
Print (Market %> %GROUP_BY (Market_Type) %> %
Summarise_at (vars (Market_squareFeet), liste (navn = sum))))

Resultat

Vi kan se at de lignende verdiene (bar, dagligvarebutikk og restaurant) i kolonnen Market_Type er gruppert og returnert summen av de grupperte verdiene i markedet for markedet_square føtter.

Konklusjon

Det er mulig å gruppere enkelt- eller flere kolonner med de andre numeriske kolonnene for å returnere summen av den numeriske kolonnen ved å bruke aggregat () -funksjonen. Tilsvarende kan vi bruke GroupBy () Fucniton med Summarise_at () -funksjonen til å gruppere de lignende verdiene i en kolonne og returnere summen av de grupperte verdiene med hensyn til en annen kolonne.