முக்கிய உள்ளடக்கத்திற்குச் செல்லவும்
தொகுதி 4 · பாடம் 2 இன் 2பாடத்திட்டத்தில் 8/10~15 min
தொகுதி பாடங்கள் (2/2)

பிறழ்வுகள் மற்றும் திரட்டல்கள்

தேர்ந்தெடுத்து வடிகட்டுவதற்கு அப்பால், dplyr ஆனது புதிய கணக்கிடப்பட்ட நெடுவரிசைகளை உருவாக்குவதற்கும், தரவை குழுக்களாக ஒருங்கிணைப்பதன் மூலம் சுருக்கி கூறுவதற்கும் சக்திவாய்ந்த திறன்களை வழங்குகிறது.


புதிய நெடுவரிசைகளை உருவாக்குதல்: mutate()

mutate() வினைச்சொல், அனைத்து அசல் நெடுவரிசைகளையும் அப்படியே வைத்திருக்கும் போது, ​​புதிய நெடுவரிசைகளைக் கணக்கிட அல்லது ஏற்கனவே உள்ளவற்றை மாற்ற அனுமதிக்கிறது.

R
# Adds a 'double_salary' column computed as 'salary' multiplied by 2
df %>%
  mutate(double_salary = salary * 2)

# You can create multiple columns at once
df %>%
  mutate(
    total_cost = quantity * price,
    tax = total_cost * 0.22
  )

குழுவாக்குதல் மற்றும் திரட்டுதல்: group_by() மற்றும் summarise()

பெரும்பாலும், தரவு பகுப்பாய்விற்கு வரிசைகளின் குறிப்பிட்ட குழுக்களுக்கான சுருக்கமான புள்ளிவிவரங்களை (எ.கா. சராசரி, தொகை, எண்ணிக்கை) கணக்கிட வேண்டும் (உதாரணமாக, ஒவ்வொரு துறைக்கும் சராசரி சம்பளத்தை கணக்கிடுதல்).

1. group_by()

ஒன்று அல்லது அதற்கு மேற்பட்ட நெடுவரிசைகளின் மதிப்புகளால் தரவு சட்டகத்தை குழுவாக்குகிறது. தானாகவே, இது தரவின் காட்சித் தோற்றத்தை மாற்றாது, ஆனால் அடுத்தடுத்த செயல்பாடுகள் "குழு வாரியாக" செயல்படுத்தப்பட வேண்டும் என்று dplyrக்கு சமிக்ஞை செய்கிறது.

2. summarise() (அல்லது summarize())

mean(), sum(), min(), max(), அல்லது AGYTOK_INLINE_11 எண்ணிக்கை போன்ற புள்ளிவிவர செயல்பாடுகளைப் பயன்படுத்துவதன் மூலம் பல வரிசைகளை ஒரு சுருக்க வரிசையில் சுருக்குகிறது.

R
# Calculates the average salary per department
df %>%
  group_by(department) %>%
  summarise(mean_salary = mean(salary))

ஒவ்வொரு குழுவிற்கும் எத்தனை பதிவுகள் உள்ளன என்பதை நீங்கள் கணக்கிட விரும்பினால்:

R
# Counts how many employees are in each city
df %>%
  group_by(city) %>%
  summarise(count = n())

நீங்களே முயற்சி செய்து பாருங்கள்

பயிற்சி 1: கணக்கிடப்பட்ட நெடுவரிசையை உருவாக்கவும்

உடற்பயிற்சி#r.m4.l2.e1
முயற்சிகள்: 0ஏற்றுகிறது…

தரவு சட்டகம் df கொடுக்கப்பட்டால், mutate() ஐப் பயன்படுத்தி அளவு நெடுவரிசையை விலை நெடுவரிசையால் பெருக்குவதன் மூலம் total_price எனப்படும் புதிய நெடுவரிசையை உருவாக்கவும். முடிவை df_new இல் சேமிக்கவும்.

எடிட்டரை ஏற்றுகிறது…
குறிப்பைக் காட்டு

df இல் பைப்லைனுக்குள் mutate (total_price = அளவு * விலை) பயன்படுத்தவும்.

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்

பயிற்சி 2: குழு மற்றும் சராசரியுடன் சுருக்கவும்

உடற்பயிற்சி#r.m4.l2.e2
முயற்சிகள்: 0ஏற்றுகிறது…

சம்பள நெடுவரிசையின் சராசரியைக் கணக்கிடுங்கள், பதிவுகளை துறை நெடுவரிசை மூலம் தொகுக்கவும். ஒருங்கிணைக்கப்பட்ட நெடுவரிசையை mean_salary என்ற பெயரில் சேமித்து, இறுதி முடிவை df_groupedக்கு ஒதுக்கவும்.

எடிட்டரை ஏற்றுகிறது…
குறிப்பைக் காட்டு

USA df %>% group_by(துறை) %>% சுருக்கம்(mean_salary = சராசரி(சம்பளம்))

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்

பயிற்சி 3: ஒரு குழுவிற்கு உறுப்புகளை எண்ணுங்கள்

உடற்பயிற்சி#r.m4.l2.e3
முயற்சிகள்: 0ஏற்றுகிறது…

ஒவ்வொரு நகரத்திற்கும் (நகர நெடுவரிசை) வரிசைகளின் எண்ணிக்கையை எண்ணுங்கள். n() செயல்பாட்டைப் பயன்படுத்தி சுருக்கம்() க்குள் எண்ணிக்கை மாறிக்கு எண்ணிக்கையை ஒதுக்கவும், மேலும் இறுதி முடிவை df_counts இல் சேமிக்கவும்.

எடிட்டரை ஏற்றுகிறது…
குறிப்பைக் காட்டு

உனா பைப்லைனில் ஒருங்கிணைந்த குழு_பை(நகரம்) சுருக்கம்(எண்ணிக்கை = n()).

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்

பயிற்சி 4: பல சுருக்கங்கள்

உடற்பயிற்சி#r.m4.l2.e4
முயற்சிகள்: 0ஏற்றுகிறது…

விலை நெடுவரிசையின் குறைந்தபட்ச மதிப்பு (min_price) மற்றும் அதிகபட்ச மதிப்பை (max_price) வகை நெடுவரிசை மூலம் கணக்கிடவும். முடிவை df_summary இல் சேமிக்கவும்.

எடிட்டரை ஏற்றுகிறது…
குறிப்பைக் காட்டு

சுருக்கம்() உள்ளே, min_price = min(price) மற்றும் max_price = max(price) அளவீடுகளை கமாவுடன் பிரிக்கவும்.

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்

பயிற்சி 5: குழுவாக்கம் மற்றும் ஒருங்கிணைந்த வடிப்பான்கள்

உடற்பயிற்சி#r.m4.l2.e5
முயற்சிகள்: 0ஏற்றுகிறது…

டிபார்ட்மென்ட் நெடுவரிசை மூலம் dfஐக் குழுவாக்கும் பைப்லைனை எழுதவும், புதிய நெடுவரிசையில் avg_salary இல் சம்பளச் சேமிப்பின் சராசரியை mutate() ஐப் பயன்படுத்தி கணக்கிடுகிறது (குறிப்பு: அனைத்து வரிசைகளையும் வைத்திருக்க, mutate ஐப் பயன்படுத்தவும், சுருக்கமாக இல்லை), மேலும் avg_salary ஐ விட கண்டிப்பாக அதிக சம்பளத்துடன் பதிவுகளை மட்டும் வைத்திருக்க வடிகட்டவும். ரெஸில் சேமிக்கவும்.

எடிட்டரை ஏற்றுகிறது…
குறிப்பைக் காட்டு

USA df %>% group_by(துறை) %>% mutate(avg_salary = சராசரி(சம்பளம்)) %>% filter(salary > avg_salary)

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்