ప్రధాన కంటెంట్‌కు వెళ్లండి
మాడ్యూల్ 4 · 2లో పాఠం 1కోర్సులో 7/10~12 min
మాడ్యూల్ పాఠాలు (1/2)

డేటాను ఫిల్టర్ చేయడం మరియు ఎంచుకోవడం

Tidyverse అనేది సాధారణ తత్వశాస్త్రం, వ్యాకరణం మరియు డేటా నిర్మాణాలను పంచుకునే డేటా సైన్స్ కోసం రూపొందించబడిన R ప్యాకేజీల సమాహారం. ఈ సూట్‌లో డేటా మానిప్యులేషన్ కోసం కోర్ ప్యాకేజీని dplyr అంటారు.

dplyr డేటా ఫ్రేమ్ మానిప్యులేషన్‌ను అత్యంత సహజంగా చేసే ఫంక్షన్‌ల సమితిని ("క్రియలు") పరిచయం చేస్తుంది.


పైప్ ఆపరేటర్ (%>% లేదా |>)

Tidyverse తత్వశాస్త్రం చైనింగ్ కార్యకలాపాలపై కేంద్రీకృతమై ఉంది. పైప్ ఆపరేటర్ %>% (లేదా స్థానిక పైపు |> R 4.1+లో ప్రవేశపెట్టబడింది) ఒక వ్యక్తీకరణ యొక్క ఫలితాన్ని తీసుకొని తదుపరి ఫంక్షన్‌కు మొదటి ఆర్గ్యుమెంట్‌గా పంపుతుంది. ఇది నెస్టెడ్ ఫంక్షన్ కాల్‌లను నివారిస్తుంది మరియు తాత్కాలిక వేరియబుల్స్‌తో మీ వర్క్‌స్పేస్‌ను అస్తవ్యస్తం చేయడాన్ని నిరోధిస్తుంది.

R
# Without pipe:
filter(select(df, name, age), age > 20)

# With pipe:
df %>%
  select(name, age) %>%
  filter(age > 20)

వడపోత మరియు ఎంచుకోవడం కోసం dplyr క్రియలు

డేటా ఫ్రేమ్ నుండి డేటాను సంగ్రహించడానికి మూడు ప్రాథమిక క్రియలు:

1. select()

డేటా ఫ్రేమ్ నుండి నిర్దిష్ట నిలువు వరుసలను ఎంచుకుంటుంది. మీరు నిలువు వరుస పేర్లను ఉంచడానికి జాబితా చేయవచ్చు లేదా నిలువు వరుసలను మినహాయించడానికి - ఉపసర్గను ఉపయోగించవచ్చు.

R
# Select the 'name' and 'salary' columns
select(df, name, salary)

# Remove the 'address' column
select(df, -address)

2. filter()

ఒకటి లేదా అంతకంటే ఎక్కువ తార్కిక పరిస్థితుల ఆధారంగా అడ్డు వరుసలను ఫిల్టర్ చేస్తుంది.

R
# 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()లో చుట్టండి.

R
# Sort by age (ascending)
arrange(df, age)

# Sort by salary (descending)
arrange(df, desc(salary))

మీరే ప్రయత్నించండి

వ్యాయామం 1: నిలువు వరుసలను ఎంచుకోండి

వ్యాయామం#r.m4.l1.e1
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

డేటా ఫ్రేమ్ df ఇచ్చినట్లయితే, select()ని ఉపయోగించి పేరు మరియు వయస్సు నిలువు వరుసలను ఎంచుకోండి మరియు ఫలితాన్ని df_selectedలో సేవ్ చేయండి.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

వాడుక: df_selected <- select(df, పేరు, వయస్సు)

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది

వ్యాయామం#r.m4.l1.e2
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

డేటా ఫ్రేమ్ df యొక్క అడ్డు వరుసలను ఫిల్టర్ చేయండి, ఇక్కడ వయస్సు కాలమ్ ఖచ్చితంగా 18 కంటే ఎక్కువగా ఉంటుంది, ఫలితాన్ని df_adultsలో సేవ్ చేయండి.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

ఫిల్టర్(df, వయస్సు > 18) ఫంక్షన్‌ని ఉపయోగించండి మరియు ఫలితాన్ని df_adultsకి కేటాయించండి.

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది

వ్యాయామం#r.m4.l1.e3
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

చైన్ ఆపరేషన్‌లకు పైప్ ఆపరేటర్ %>%ని ఉపయోగించండి: ముందుగా 18 ఏళ్ల వయస్సు ఉన్న రికార్డులను మాత్రమే ఉంచి dfని ఫిల్టర్ చేసి, ఆపై పేరు కాలమ్‌ని ఎంచుకోండి. ఫలితాన్ని res లో సేవ్ చేయండి.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

Scrivi: res <- df %>% ఫిల్టర్(వయస్సు > 18) %>% ఎంపిక(పేరు)

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది

వ్యాయామం#r.m4.l1.e4
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

అరేంజ్() మరియు desc() ఉపయోగించి అవరోహణ క్రమంలో జీతం కాలమ్ ఆధారంగా డేటా ఫ్రేమ్ df వరుసలను క్రమబద్ధీకరించండి. ఫలితాన్ని df_sortedలో సేవ్ చేయండి.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

అన్ని ఇంటర్నో డి యునా పైప్‌లైన్ ఓ కమ్ ఆర్గోమెంటో డైరెట్టో యూఎస్ ఏ అరేంజ్(డెస్క్(జీతం))

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది

వ్యాయామం#r.m4.l1.e5
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

dfపై పూర్తి పైప్‌లైన్‌ను వ్రాయండి: డిపార్ట్‌మెంట్ 'IT'కి సమానమైన రికార్డులను ఫిల్టర్ చేయండి, నిలువు వరుసల పేరు మరియు జీతం ఎంచుకోండి మరియు జీతం (ఆరోహణ) ద్వారా ఫలితాన్ని క్రమబద్ధీకరించండి. తుది ఫలితాన్ని res లో సేవ్ చేయండి.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

చైన్ ఫిల్టర్ (డిపార్ట్‌మెంట్ == 'IT'), ఎంచుకోండి(పేరు, జీతం) మరియు ఏర్పాట్లు(జీతం) చేయడానికి పైప్ %>%ని ఉపయోగించండి.

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది