آر ڈیٹا فریم میں لوپ کے لیے

Ar Y A Frym My Lwp K Ly



فار لوپ ایک کنٹرول ڈھانچہ ہے جو ہمیں ایک مخصوص تعداد میں ہدایات کے سیٹ کو دہرانے کے قابل بناتا ہے۔ یہ R میں تکرار کے لیے عام طور پر استعمال ہونے والا طریقہ ہے، خاص طور پر جب ہمیں کچھ عناصر پر ایک ہی آپریشن کرنے کی ضرورت ہو یا ڈیٹا سٹرکچر جیسے کہ DataFrame میں اعادہ کرنے کی ضرورت ہو۔ قطاریں اور کالم R میں ڈیٹا فریم بناتے ہیں جہاں ہر قطار ایک ہی مشاہدے کی نمائندگی کرتی ہے اور ہر کالم اس مشاہدے کے متغیر یا پہلو کو ظاہر کرتا ہے۔

اس خاص مضمون کے ساتھ، ہم مختلف طریقوں سے ڈیٹا فریم پر اعادہ کرنے کے لیے ایک فار لوپ کا استعمال کرتے ہیں۔ آگاہ رہیں کہ قطاروں اور کالموں میں فار لوپ کی تکرار بڑے ڈیٹا فریمز کے لیے انتہائی کمپیوٹیشنل ہو سکتی ہے۔







مثال 1: R میں DataFrame Rows پر فار لوپ کا استعمال

R میں for-loop کو ڈیٹا فریم کی قطاروں پر اعادہ کرنے کے لیے استعمال کیا جا سکتا ہے۔ فار لوپ کے اندر، ہم ڈیٹا فریم کی ہر قطار تک رسائی کے لیے قطار انڈیکس کا استعمال کر سکتے ہیں۔ آئیے درج ذیل آر کوڈ پر غور کریں جو کہ مخصوص ڈیٹا فریم کی قطاروں پر اعادہ کرنے کے لیے فار لوپ کا مظاہرہ ہے۔



data = data.frame(c1 = c(1:5)،

c2 = c(6:10)،

c3 = c(11:15))

for(i in 1:nrow(data)) {

قطار <- ڈیٹا[i، ]

پرنٹ (قطار)

}

یہاں، ہم سب سے پہلے data.frame() فنکشن کو 'ڈیٹا' کے اندر ڈیفائن کرتے ہیں۔ یہاں ڈیٹا فریم () فنکشن تین کالم پر مشتمل ہے۔ ہر کالم کو بالترتیب 1 سے 5، 6 سے 10 اور 11 سے 15 تک نمبروں کی ترتیب کے ساتھ سیٹ کیا گیا ہے۔ اس کے بعد، فار لوپ فنکشن تعینات کیا جاتا ہے جو کہ قطاروں کی کل تعداد حاصل کرنے کے لیے nrow() فنکشن کا استعمال کرتے ہوئے DataFrame 'data' کی قطاروں پر اعادہ کرتا ہے۔ لوپ متغیر، 'i'، اقدار کو 'ڈیٹا' میں قطاروں کی پوری تعداد تک لے جاتا ہے۔



اس کے بعد، ہم مربع بریکٹ نوٹیشن '[ ]' کا استعمال کرتے ہوئے ڈیٹا فریم 'ڈیٹا' کی i-ویں قطار کو نکالتے ہیں۔ نکالی گئی قطار کو 'row' متغیر میں محفوظ کیا جاتا ہے جو print() فنکشن کے ذریعے پرنٹ کیا جائے گا۔





لہٰذا، لوپ ڈیٹا فریم کی تمام قطاروں پر اعادہ کرتا ہے اور کالم کی قدروں کے ساتھ آؤٹ پٹ میں قطار کے نمبر دکھاتا ہے۔



مثال 2: ڈیٹا فریم کالمز پر فار لوپ کا استعمال

اسی طرح، ہم مخصوص ڈیٹا فریم کے کالموں کو لوپ کرنے کے لیے R میں for-loop کا استعمال کر سکتے ہیں۔ ہم پچھلے کوڈ کو کالم پر لوپ کرنے کے لیے استعمال کر سکتے ہیں لیکن ہمیں ncol() فنکشن for-loop میں استعمال کرنا چاہیے۔ اس کے برعکس، ہمارے پاس فار لوپ کا استعمال کرتے ہوئے ڈیٹا فریم کے کالموں کو لوپ کرنے کا آسان ترین طریقہ ہے۔ اس کے لیے درج ذیل R کوڈ پر غور کریں:

df = data.frame(col1 = c(10, 20, 30, 40, 50),

col2 = c(11, 21, 31, 41, 51),

col3 = c(12, 22, 32, 42, 52))

for(colnames میں Col (df)) {

کالم <- df[[col]]

پرنٹ (کالم)

}

یہاں، ہم سب سے پہلے df متغیر بناتے ہیں جہاں data.frame() کو کالم داخل کرنے کے ساتھ استعمال کیا جاتا ہے۔ 'df' ڈیٹا فریم میں تین کالم ہوتے ہیں جن میں عددی قدریں ہوتی ہیں۔ اس کے بعد، ہم colnames() فنکشن کا استعمال کرتے ہوئے 'ڈیٹا' ڈیٹا فریم کے کالم ناموں پر اعادہ کرنے کے لیے فار لوپ کا استعمال کرتے ہیں۔ ہر تکرار میں، لوپ متغیر 'col' موجودہ کالم کے نام پر ہوتا ہے۔ نکالا ہوا کالم پھر ایک نئے متغیر میں محفوظ کیا جاتا ہے جو کہ 'کالم' ہے۔

اس طرح، 'کالم' متغیر کا ڈیٹا مندرجہ ذیل کنسول پر آؤٹ پٹ پرنٹ کرتا ہے:

مثال 3: پورے ڈیٹا فریم پر فار لوپ کا استعمال

سابقہ ​​مثالوں میں، ہم نے بالترتیب فار لوپ کا استعمال کرتے ہوئے کالموں اور قطاروں کو لوپ کیا۔ اب، ہم بیک وقت ڈیٹا فریم کی قطاروں اور کالموں پر تکرار کرنے کے لیے نیسٹڈ فار لوپس کا استعمال کرتے ہیں۔ R کا کوڈ درج ذیل میں فراہم کیا گیا ہے جہاں کالموں اور قطاروں پر نیسٹڈ فار لوپ استعمال کیا جاتا ہے:

ملازمین <- data.frame(id=1:4،

names=c('کم'، 'جان'، 'ایان'، 'مارک')

location=c('آسٹریلیا'، 'امریکہ'، 'کینیڈا'، 'اردن')

تنخواہ = سی (2000، 1800، 1500، 1000))

کے لیے (1 میں قطار:nrow(ملازمین)) {

کے لیے (1:ncol(ملازمین)) {

پرنٹ (پیسٹ کریں ('رو انڈیکس'، قطار، 'کالم کا نام'، کول، 'سیل ویلیو'، ملازمین

}

}

یہاں، ہم 'ملازمین' متغیر کا اعلان کرتے ہیں جہاں data.frame() کو کالم سیٹ کرنے کے لیے کہا جاتا ہے۔ ہر کالم میں ویلیو ویکٹر کا استعمال کرتے ہوئے بتائی جاتی ہے۔ پھر، 'ملازمین' ڈیٹا فریم کی قطار اور کالم کے لیے، ہم ڈیٹا کو اعادہ کرنے کے لیے دو نیسٹڈ فار لوپس استعمال کرتے ہیں۔ بیرونی لوپ '1:nrow(employees)' کا استعمال کرتے ہوئے مخصوص ڈیٹا فریم کی قطاروں پر اعادہ کرتا ہے۔ ہر قطار کے لیے، '1:ncol(ملازمین)' کو ڈیٹا فریم کے کالموں پر بار بار اعادہ کرنے کے لیے اندرونی لوپ میں استعمال کیا جاتا ہے۔

اس کے بعد، ہمارے پاس نیسٹڈ لوپس کے اندر ایک پرنٹ() فنکشن ہے جو قطار انڈیکس، کالم انڈیکس، اور سیل ویلیو کو ایک سٹرنگ میں جوڑنے کے لیے paste() فنکشن کو تعینات کرتا ہے۔ یہاں ملازم کا اظہار موجودہ سیل میں قدر حاصل کرتا ہے جہاں قطار اور کالم بالترتیب موجودہ قطار اور کالم انڈیکس ہیں۔

اس طرح، کنسول پر آؤٹ پٹ کو مربوط قطار انڈیکس، کالم انڈیکس، اور سیل ویلیو کے ساتھ ایک ہی سٹرنگ میں بازیافت کیا جاتا ہے۔

مثال 4: آر میں لوپ کے لیے متبادل طریقہ

فار لوپ اب R زبان میں پرانا ہے۔ تاہم، یہ کچھ متبادل طریقے فراہم کرتا ہے جو for-loop کی طرح کام کرتا ہے اور for-loops سے تیز ہوتا ہے۔ یہ طریقہ 'اپلائی فیملی' فنکشنز سے ہے جو ڈیٹا فریمز پر اعادہ کرنے کے لیے پس منظر میں فار لوپ چلاتے ہیں۔ آئیے درج ذیل آر کوڈ پر غور کریں جہاں ڈیٹا فریم کو لوپ کرنے کے لیے sapply() فنکشن استعمال ہوتا ہے۔

dfX <- data.frame(var1=c(1:5)،

var2=c(6:10)،

var3=c(11:15)،

var4=c(16:20))

dfX

سیپلائی (dfX، sum)

یہاں، ہم سب سے پہلے data.frame() فنکشن کو کال کرکے دو کالموں کے ساتھ 'dfX' ڈیٹا فریم قائم کرتے ہیں، ہر ایک عددی قدروں پر مشتمل ہے۔ پھر ہم اصل 'dfX' ڈیٹا فریم کو کنسول پر پرنٹ کرتے ہیں۔ اگلے مرحلے میں، ہم فراہم کردہ ڈیٹا فریم پر تکرار کرنے اور ہر کالم کا مجموعہ حاصل کرنے کے لیے sapply() فنکشن کا استعمال کرتے ہیں۔ sapply() فنکشن عام طور پر 'x' اور 'FUN' دلائل لیتا ہے۔ اس صورت میں، X 'dfX' DataFrame ہے، اور 'FUN' sum() فنکشن ہے جو DataFrame کے ہر کالم پر لاگو ہوتا ہے۔

تکرار کا نتیجہ جو sapply() فنکشن کے ذریعے حاصل کیا جاتا ہے درج ذیل اسکرین میں حاصل ہوتا ہے۔ ڈیٹا فریم کے مجموعی آپریشن کے نتائج ہر کالم کے لیے دکھائے جاتے ہیں۔ مزید برآں، ہم R میں فار لوپ آپریشن کے لیے 'اپلائی فیملی' کے کچھ دوسرے فنکشنز بھی استعمال کر سکتے ہیں:

نتیجہ

ہم ایک مخصوص آپریشن کو انجام دینے کے لیے ڈیٹا فریم کی قطاروں یا کالموں پر اعادہ کرنے کے لیے for-loops کے ساتھ کام کرتے ہیں۔ for-loop کالموں اور قطاروں پر اعادہ کرنے کے لیے انفرادی طور پر استعمال کیا جاتا ہے۔ مزید برآں، ہم اسے بیک وقت ڈیٹا فریم کے کالم اور قطار دونوں پر تکرار کے لیے استعمال کرتے ہیں۔ زیادہ تر وقت، مطلوبہ نتیجہ حاصل کرنے کے لیے فنکشنز کا اطلاق زیادہ موثر ہوتا ہے۔ اپلائی فنکشن کی مثال فار لوپ آپریشن پر آخری مثال میں دی گئی ہے۔