தொகுதி பாடங்கள் (1/2)
தரவை வடிகட்டுதல் மற்றும் தேர்வு செய்தல்
Tidyverse என்பது பொதுவான தத்துவம், இலக்கணம் மற்றும் தரவு கட்டமைப்புகளைப் பகிர்ந்து கொள்ளும் தரவு அறிவியலுக்காக வடிவமைக்கப்பட்ட R தொகுப்புகளின் தொகுப்பாகும். இந்தத் தொகுப்பில் தரவு கையாளுதலுக்கான முக்கிய தொகுப்பு dplyr என அழைக்கப்படுகிறது.
dplyr ஆனது தரவுச் சட்ட கையாளுதலை மிகவும் உள்ளுணர்வுடன் செய்யும் செயல்பாடுகளின் தொகுப்பை ("வினைச்சொற்கள்") அறிமுகப்படுத்துகிறது.
பைப் ஆபரேட்டர் (%>% அல்லது |>)
டைடிவர்ஸ் தத்துவம், சங்கிலித் தொடர் செயல்பாடுகளை மையமாகக் கொண்டுள்ளது. பைப் ஆபரேட்டர் %>% (அல்லது சொந்த குழாய் |> R 4.1+ இல் அறிமுகப்படுத்தப்பட்டது) ஒரு வெளிப்பாட்டின் முடிவை எடுத்து அடுத்த செயல்பாட்டிற்கு முதல் வாதமாக அனுப்புகிறது. இது உள்ளமை செயல்பாடு அழைப்புகளைத் தவிர்க்கிறது மற்றும் தற்காலிக மாறிகள் மூலம் உங்கள் பணியிடத்தை ஒழுங்கீனம் செய்வதைத் தடுக்கிறது.
# Without pipe:
filter(select(df, name, age), age > 20)
# With pipe:
df %>%
select(name, age) %>%
filter(age > 20)வடிகட்டுதல் மற்றும் தேர்ந்தெடுப்பதற்கான dplyr வினைச்சொற்கள்
தரவு சட்டகத்திலிருந்து தரவைப் பிரித்தெடுப்பதற்கான மூன்று அடிப்படை வினைச்சொற்கள்:
1. select()
தரவு சட்டகத்திலிருந்து குறிப்பிட்ட நெடுவரிசைகளைத் தேர்ந்தெடுக்கிறது. நெடுவரிசைப் பெயர்களை வைத்துப் பட்டியலிடலாம் அல்லது நெடுவரிசைகளை விலக்க - முன்னொட்டைப் பயன்படுத்தலாம்.
# Select the 'name' and 'salary' columns
select(df, name, salary)
# Remove the 'address' column
select(df, -address)2. filter()
ஒன்று அல்லது அதற்கு மேற்பட்ட தருக்க நிபந்தனைகளின் அடிப்படையில் வரிசைகளை வடிகட்டுகிறது.
# Filter rows where age is greater than 30
filter(df, age > 30)
# Filter using multiple conditions (logical AND)
filter(df, age > 30, department == "HR")3. arrange()
ஒன்று அல்லது அதற்கு மேற்பட்ட நெடுவரிசைகளின் மதிப்புகளின் அடிப்படையில் வரிசைகளை வரிசைப்படுத்துகிறது. வரிசையாக்க வரிசை இயல்பாகவே ஏறுமுகத்தில் உள்ளது. இறங்கு வரிசையில் வரிசைப்படுத்த, நெடுவரிசையின் பெயரை desc() இல் மடிக்கவும்.
# Sort by age (ascending)
arrange(df, age)
# Sort by salary (descending)
arrange(df, desc(salary))நீங்களே முயற்சி செய்து பாருங்கள்
பயிற்சி 1: நெடுவரிசைகளைத் தேர்ந்தெடுக்கவும்
டேட்டா ஃப்ரேம் df கொடுக்கப்பட்டால், select() ஐப் பயன்படுத்தி பெயர் மற்றும் வயது நெடுவரிசைகளைத் தேர்ந்தெடுத்து முடிவை df_selected இல் சேமிக்கவும்.
குறிப்பைக் காட்டு
USA: df_selected <- தேர்ந்தெடு(df, பெயர், வயது)
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்
டேட்டா ஃப்ரேம் df இன் வரிசைகளை வடிகட்டவும், அங்கு வயது நெடுவரிசை கண்டிப்பாக 18 ஐ விட அதிகமாக இருக்கும், முடிவை df_adults இல் சேமிக்கவும்.
குறிப்பைக் காட்டு
வடிகட்டி(df, வயது > 18) செயல்பாட்டைப் பயன்படுத்தி, முடிவை df_adultsக்கு ஒதுக்கவும்.
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்
தொடர் செயல்பாடுகளுக்கு குழாய் ஆபரேட்டர் %>% ஐப் பயன்படுத்தவும்: முதலில் 18 வயதுக்கு மேல் உள்ள பதிவுகளை மட்டும் வடிகட்டவும், பின்னர் பெயர் நெடுவரிசையைத் தேர்ந்தெடுக்கவும். முடிவை ரெஸில் சேமிக்கவும்.
குறிப்பைக் காட்டு
Scrivi: res <- df %>% வடிகட்டி(வயது > 18) %>% தேர்வு(பெயர்)
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்
அரேஞ்() மற்றும் desc() ஐப் பயன்படுத்தி சம்பள நெடுவரிசையின் அடிப்படையில் டேட்டா ஃப்ரேம் df இன் வரிசைகளை இறங்கு வரிசையில் வரிசைப்படுத்தவும். முடிவை df_sorted இல் சேமிக்கவும்.
குறிப்பைக் காட்டு
யூஎஸ்ஏ ஏற்பாடு(டெஸ்க்(சம்பளம்)) அனைத்து இன்டர்னோ டி யுனா பைப்லைன் அல்லது ஆர்கோமெண்டோ டைரெட்டோ.
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்
df இல் ஒரு முழுமையான பைப்லைனை எழுதவும்: டிபார்ட்மென்ட் 'IT'க்கு சமமான பதிவுகளை வடிகட்டவும், நெடுவரிசைகளின் பெயரையும் சம்பளத்தையும் தேர்ந்தெடுத்து, சம்பளம் (ஏறும்) மூலம் முடிவை வரிசைப்படுத்தவும். இறுதி முடிவை res இல் சேமிக்கவும்.
குறிப்பைக் காட்டு
சங்கிலி வடிகட்டி (துறை == 'IT'), தேர்ந்தெடுத்து (பெயர், சம்பளம்) மற்றும் ஏற்பாடு (சம்பளம்) செய்ய குழாய் %>% ஐப் பயன்படுத்தவும்.
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்