మాడ్యూల్ పాఠాలు (1/2)
డేటాను ఫిల్టర్ చేయడం మరియు ఎంచుకోవడం
Tidyverse అనేది సాధారణ తత్వశాస్త్రం, వ్యాకరణం మరియు డేటా నిర్మాణాలను పంచుకునే డేటా సైన్స్ కోసం రూపొందించబడిన R ప్యాకేజీల సమాహారం. ఈ సూట్లో డేటా మానిప్యులేషన్ కోసం కోర్ ప్యాకేజీని dplyr అంటారు.
dplyr డేటా ఫ్రేమ్ మానిప్యులేషన్ను అత్యంత సహజంగా చేసే ఫంక్షన్ల సమితిని ("క్రియలు") పరిచయం చేస్తుంది.
పైప్ ఆపరేటర్ (%>% లేదా |>)
Tidyverse తత్వశాస్త్రం చైనింగ్ కార్యకలాపాలపై కేంద్రీకృతమై ఉంది. పైప్ ఆపరేటర్ %>% (లేదా స్థానిక పైపు |> 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లో సేవ్ చేయండి.
సూచనను చూపించు
వాడుక: df_selected <- select(df, పేరు, వయస్సు)
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
డేటా ఫ్రేమ్ df యొక్క అడ్డు వరుసలను ఫిల్టర్ చేయండి, ఇక్కడ వయస్సు కాలమ్ ఖచ్చితంగా 18 కంటే ఎక్కువగా ఉంటుంది, ఫలితాన్ని df_adultsలో సేవ్ చేయండి.
సూచనను చూపించు
ఫిల్టర్(df, వయస్సు > 18) ఫంక్షన్ని ఉపయోగించండి మరియు ఫలితాన్ని df_adultsకి కేటాయించండి.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
చైన్ ఆపరేషన్లకు పైప్ ఆపరేటర్ %>%ని ఉపయోగించండి: ముందుగా 18 ఏళ్ల వయస్సు ఉన్న రికార్డులను మాత్రమే ఉంచి dfని ఫిల్టర్ చేసి, ఆపై పేరు కాలమ్ని ఎంచుకోండి. ఫలితాన్ని res లో సేవ్ చేయండి.
సూచనను చూపించు
Scrivi: res <- df %>% ఫిల్టర్(వయస్సు > 18) %>% ఎంపిక(పేరు)
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
అరేంజ్() మరియు desc() ఉపయోగించి అవరోహణ క్రమంలో జీతం కాలమ్ ఆధారంగా డేటా ఫ్రేమ్ df వరుసలను క్రమబద్ధీకరించండి. ఫలితాన్ని df_sortedలో సేవ్ చేయండి.
సూచనను చూపించు
అన్ని ఇంటర్నో డి యునా పైప్లైన్ ఓ కమ్ ఆర్గోమెంటో డైరెట్టో యూఎస్ ఏ అరేంజ్(డెస్క్(జీతం))
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
dfపై పూర్తి పైప్లైన్ను వ్రాయండి: డిపార్ట్మెంట్ 'IT'కి సమానమైన రికార్డులను ఫిల్టర్ చేయండి, నిలువు వరుసల పేరు మరియు జీతం ఎంచుకోండి మరియు జీతం (ఆరోహణ) ద్వారా ఫలితాన్ని క్రమబద్ధీకరించండి. తుది ఫలితాన్ని res లో సేవ్ చేయండి.
సూచనను చూపించు
చైన్ ఫిల్టర్ (డిపార్ట్మెంట్ == 'IT'), ఎంచుకోండి(పేరు, జీతం) మరియు ఏర్పాట్లు(జీతం) చేయడానికి పైప్ %>%ని ఉపయోగించండి.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది