مرکزی مواد پر جائیں
ماڈیول 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)

حقیقی دنیا میں، ڈیٹا سیٹس میں اکثر گمشدہ اقدار ہوتے ہیں، جن کی نمائندگی R میں خصوصی ادارہ NA (دستیاب نہیں) کرتی ہے۔

اگر آپ کسی ایسے ویکٹر پر اوسط یا کسی دوسرے مجموعی کا حساب لگانے کی کوشش کرتے ہیں جس میں ایک بھی 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 میں محفوظ کریں۔ پھر میڈین کا حساب لگائیں اور اسے median_temp میں محفوظ کریں۔

ایڈیٹر لوڈ ہو رہا ہے…
اشارہ دکھائیں۔

Usa mean_temp <- اوسط(درجہ حرارت) اور میڈین_ٹیمپ <- میڈین(درجہ حرارت)

3 کوششوں کے بعد حل دستیاب ہے۔

ورزش#r.m3.l2.e2
کوششیں: 0لوڈ ہو رہا ہے…

NA قدر پر مشتمل سکور ویکٹر کو دیکھتے ہوئے، گمشدہ اقدار کو چھوڑ کر ویکٹر کے معیاری انحراف کا حساب لگائیں، اور اسے sd_scores متغیر میں محفوظ کریں۔

ایڈیٹر لوڈ ہو رہا ہے…
اشارہ دکھائیں۔

sd() فنکشن کو na.rm = TRUE دلیل کے ساتھ استعمال کریں: sd_scores <- sd(scores, na.rm = TRUE)

3 کوششوں کے بعد حل دستیاب ہے۔

ورزش#r.m3.l2.e3
کوششیں: 0لوڈ ہو رہا ہے…

ڈیٹا فریم df کو دیکھتے ہوئے، اقدار کے کالم کا شماریاتی خلاصہ حاصل کریں اور اسے stats_summary متغیر میں محفوظ کریں۔

ایڈیٹر لوڈ ہو رہا ہے…
اشارہ دکھائیں۔

$آپریٹر کا استعمال کرتے ہوئے کالم کو نکالیں اور اسے سمری(): stats_summary <- summary(df$values) میں منتقل کریں

3 کوششوں کے بعد حل دستیاب ہے۔

ورزش#r.m3.l2.e4
کوششیں: 0لوڈ ہو رہا ہے…

ڈیٹا فریم سیلز کو دیکھتے ہوئے، ریجن کالم کے حساب سے گروپ کردہ ریونیو کالم کی رقم (FUN = sum) کا حساب لگانے کے لیے aggregate() فنکشن کا استعمال کریں۔ نتیجہ کو ریجن_سیلز متغیر میں محفوظ کریں۔

ایڈیٹر لوڈ ہو رہا ہے…
اشارہ دکھائیں۔

استعمال کریں: region_sales <- مجموعی (آمدنی ~ علاقہ، ڈیٹا = سیلز، FUN = sum)

3 کوششوں کے بعد حل دستیاب ہے۔

ورزش#r.m3.l2.e5
کوششیں: 0لوڈ ہو رہا ہے…

ڈیٹا فریم پروڈکٹس کو دیکھتے ہوئے، سب سیٹ() فنکشن کا استعمال صرف ان مصنوعات کو فلٹر کرنے کے لیے کریں جو 'الیکٹرانکس' زمرہ (زمرہ == 'الیکٹرانکس') سے تعلق رکھتے ہیں اور جن کی قیمت 100 (قیمت> 100) سے زیادہ ہے۔ مہنگی_الیکٹرانکس متغیر میں نتیجہ محفوظ کریں۔

ایڈیٹر لوڈ ہو رہا ہے…
اشارہ دکھائیں۔

استعمال کریں: مہنگی_الیکٹرانکس <- سب سیٹ (مصنوعات، زمرہ == 'الیکٹرانکس' اور قیمت> 100)

3 کوششوں کے بعد حل دستیاب ہے۔