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

అన్వేషణ మరియు సమీకరణ

R ప్రాథమికంగా గణాంక వాతావరణంగా సృష్టించబడింది, కాబట్టి ఇది వెక్టర్స్ లేదా టేబుల్‌లలో డేటా పంపిణీని విశ్లేషించడానికి, సంగ్రహించడానికి మరియు అర్థం చేసుకోవడానికి అనేక అంతర్నిర్మిత ఫంక్షన్‌లను అందిస్తుంది.

ప్రాథమిక గణాంక విధులు

సంఖ్యా వెక్టర్స్‌పై కేంద్రం మరియు వ్యాప్తి యొక్క ప్రధాన కొలతలను సులభంగా లెక్కించడానికి R మిమ్మల్ని అనుమతిస్తుంది:

  • mean(x): మూలకాల యొక్క అంకగణిత సగటును గణిస్తుంది.
  • median(x): మధ్యస్థాన్ని (మధ్య విలువ) గణిస్తుంది.
  • sd(x): ప్రామాణిక విచలనాన్ని గణిస్తుంది (డేటా ఎలా విస్తరించిందో కొలమానం).
  • min(x) మరియు max(x): కనిష్ట మరియు గరిష్ట విలువలను వరుసగా అందించండి.
R
values <- c(10, 12, 15, 18, 20, 22)

avg <- mean(values)
dispersion <- sd(values)

cat("Mean:", avg, "- Std Dev:", round(dispersion, 2), "\n")

తప్పిపోయిన డేటాను నిర్వహించడం (NA)

వాస్తవ ప్రపంచంలో, డేటాసెట్‌లు తరచుగా తప్పిపోయిన విలువలను కలిగి ఉంటాయి, ప్రత్యేక ఎంటిటీ NA (అందుబాటులో లేదు) ద్వారా R లో సూచించబడుతుంది.

మీరు ఒకే NAని కలిగి ఉన్న వెక్టర్‌లో సగటు లేదా ఏదైనా ఇతర సముదాయాన్ని లెక్కించడానికి ప్రయత్నిస్తే, R ఫలితంగా NAని అందిస్తుంది. తప్పిపోయిన విలువలను విస్మరించడానికి, మీరు తప్పనిసరిగా తార్కిక ఆర్గ్యుమెంట్ na.rm = TRUE (NA తీసివేయి):

R
temperatures <- c(18, 21, NA, 24, 19)

# This will return NA
print(mean(temperatures))

# This will ignore the NA and perform the calculation on valid values
print(mean(temperatures, na.rm = TRUE))

summary()తో గ్లోబల్ సారాంశం

summary() ఫంక్షన్ అనేది ఒక శక్తివంతమైన సాధనం, ఇది వెక్టర్ లేదా మొత్తం డేటా ఫ్రేమ్ యొక్క పూర్తి గణాంక అవలోకనాన్ని అందిస్తుంది, ఇది నిమి, మొదటి త్రైమాసికం, మధ్యస్థం, సగటు, మూడవ త్రైమాసికం మరియు గరిష్టం:

R
prices <- c(5, 10, 15, 20, 100)
print(summary(prices))

aggregateతో డేటాను సమగ్రపరచడం

డేటా ఫ్రేమ్‌లతో పని చేస్తున్నప్పుడు, నిర్దిష్ట సమూహాలు లేదా వర్గాల కోసం సారాంశ గణాంకాలను (సగటు లేదా మొత్తం వంటివి) లెక్కించడం సర్వసాధారణం. R లోని aggregate() ఫంక్షన్ ఈ ప్రక్రియను సులభతరం చేస్తుంది:

R
df <- data.frame(
  department = c("HR", "IT", "HR", "IT"),
  salary = c(3000, 4500, 3200, 4800)
)

# Calcola la media dei salari per dipartimento
avg_salaries <- aggregate(salary ~ department, data = df, FUN = mean)
print(avg_salaries)

సింటాక్స్ salary ~ department అంటే "department వేరియబుల్ ఆధారంగా salary వేరియబుల్‌ని విశ్లేషించండి". FUN = mean ఆర్గ్యుమెంట్ మేము ప్రతి సమూహానికి అంకగణిత సగటును లెక్కించాలనుకుంటున్నామని నిర్దేశిస్తుంది.

subsetతో అధునాతన ఫిల్టరింగ్

subset() ఫంక్షన్ సంక్లిష్ట చతురస్రాకార బ్రాకెట్‌ల వినియోగాన్ని నివారించడం ద్వారా డేటా ఫ్రేమ్ నుండి అడ్డు వరుసలు మరియు నిలువు వరుసల ఉపసమితులను సంగ్రహించడానికి స్పష్టమైన మరియు సొగసైన మార్గాన్ని అందిస్తుంది:

R
employees <- data.frame(
  name = c("Alice", "Bob", "Charlie"),
  age = c(25, 34, 29),
  active = c(TRUE, FALSE, TRUE)
)

# Filtra solo i dipendenti attivi con età superiore a 28
active_employees <- subset(employees, active == TRUE & age > 28)

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

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

వెక్టార్ ఉష్ణోగ్రతల దృష్ట్యా, సగటును లెక్కించి, వేరియబుల్ mean_tempలో సేవ్ చేయండి. ఆపై మధ్యస్థాన్ని లెక్కించి, మధ్యస్థ_టెంప్‌లో సేవ్ చేయండి.

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

సగటు_టెంప్ <- సగటు(ఉష్ణోగ్రతలు) మరియు మధ్యస్థ_టెంప్ <- మధ్యస్థ(ఉష్ణోగ్రతలు)

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

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

NA విలువను కలిగి ఉన్న స్కోర్‌ల వెక్టార్‌ను బట్టి, తప్పిపోయిన విలువలను మినహాయించి వెక్టర్ యొక్క ప్రామాణిక విచలనాన్ని లెక్కించండి మరియు దానిని sd_scores వేరియబుల్‌లో సేవ్ చేయండి.

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

na.rm = TRUE ఆర్గ్యుమెంట్‌తో sd() ఫంక్షన్‌ని ఉపయోగించండి: sd_scores <- sd(స్కోర్లు, na.rm = TRUE)

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

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

డేటా ఫ్రేమ్ df ఇచ్చినట్లయితే, విలువల కాలమ్ యొక్క గణాంక సారాంశాన్ని పొందండి మరియు దానిని stats_summary వేరియబుల్‌లో సేవ్ చేయండి.

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

$ ఆపరేటర్‌ని ఉపయోగించి నిలువు వరుసను సంగ్రహించి, దానిని సారాంశం(): stats_summary <- summary(df$values)కి పంపండి

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

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

డేటా ఫ్రేమ్ విక్రయాల దృష్ట్యా, రీజియన్ కాలమ్ ద్వారా సమూహపరచబడిన రాబడి కాలమ్ మొత్తాన్ని (FUN = మొత్తం) లెక్కించడానికి మొత్తం() ఫంక్షన్‌ని ఉపయోగించండి. రీజియన్_సేల్స్ వేరియబుల్‌లో ఫలితాన్ని సేవ్ చేయండి.

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

ఉపయోగించండి: region_sales <- మొత్తం(ఆదాయం ~ ప్రాంతం, డేటా = అమ్మకాలు, FUN = మొత్తం)

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

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

డేటా ఫ్రేమ్ ఉత్పత్తులను బట్టి, 'ఎలక్ట్రానిక్స్' వర్గానికి చెందిన (వర్గం == 'ఎలక్ట్రానిక్స్') మరియు 100 కంటే ఎక్కువ ధర ఉన్న ఉత్పత్తులను మాత్రమే ఫిల్టర్ చేయడానికి ఉపసమితి() ఫంక్షన్‌ను ఉపయోగించండి (ధర > 100). ఫలితాన్ని ఖరీదైన_ఎలక్ట్రానిక్స్ వేరియబుల్‌లో సేవ్ చేయండి.

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

ఉపయోగించండి: ఖరీదైన_ఎలక్ట్రానిక్స్ <- ఉపసమితి(ఉత్పత్తులు, వర్గం == 'ఎలక్ట్రానిక్స్' & ధర > 100)

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