R DataFrame-এর জন্য লুপ

R Dataframe Era Jan Ya Lupa



ফর-লুপ হল একটি কন্ট্রোল স্ট্রাকচার যা আমাদের একটি নির্দিষ্ট সংখ্যক নির্দেশের সেট পুনরাবৃত্তি করতে সক্ষম করে। এটি R-এ পুনরাবৃত্তির জন্য একটি সাধারণভাবে ব্যবহৃত পদ্ধতি, বিশেষ করে যখন আমাদের কিছু উপাদানে একই ক্রিয়াকলাপ সম্পাদন করতে হয় বা ডেটা ফ্রেমের মতো ডেটা কাঠামোর উপর পুনরাবৃত্তি করতে হয়। সারি এবং কলামগুলি R-এ ডেটাফ্রেম তৈরি করে যেখানে প্রতিটি সারি একটি একক পর্যবেক্ষণের প্রতিনিধিত্ব করে এবং প্রতিটি কলাম সেই পর্যবেক্ষণের একটি পরিবর্তনশীল বা দিক নির্দেশ করে।

এই বিশেষ নিবন্ধটির সাথে, আমরা বিভিন্ন পদ্ধতিতে ডেটাফ্রেমের উপর পুনরাবৃত্তি করতে একটি ফর-লুপ ব্যবহার করি। সচেতন থাকুন যে সারি এবং কলাম জুড়ে ফর-লুপ পুনরাবৃত্তি বড় ডেটাফ্রেমের জন্য অত্যন্ত গণনামূলক হতে পারে।







উদাহরণ 1: R-এ ডেটাফ্রেম সারিগুলির জন্য-লুপ ব্যবহার করা

R-এর জন্য-লুপটি ডেটাফ্রেমের সারিগুলিতে পুনরাবৃত্তি করতে ব্যবহার করা যেতে পারে। ফর-লুপের ভিতরে, আমরা ডেটাফ্রেমের প্রতিটি সারি অ্যাক্সেস করতে সারি সূচক ব্যবহার করতে পারি। আসুন নিম্নলিখিত R কোডটি বিবেচনা করি যা নির্দিষ্ট ডেটাফ্রেমের সারিগুলিতে পুনরাবৃত্তি করার জন্য ফর-লুপের প্রদর্শন।



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

c2 = c(6:10),

c3 = c(11:15))

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

সারি <- ডেটা[i, ]

মুদ্রণ(সারি)

}

এখানে, আমরা প্রথমে “data”-এর ভিতরে data.frame() ফাংশন সংজ্ঞায়িত করি। এখানে data.frame() ফাংশনে তিনটি কলাম রয়েছে। প্রতিটি কলাম যথাক্রমে 1 থেকে 5, 6 থেকে 10 এবং 11 থেকে 15 পর্যন্ত সংখ্যার ক্রম সহ সেট করা হয়েছে। এর পরে, ফর-লুপ ফাংশনটি স্থাপন করা হয় যা ডাটাফ্রেম 'ডেটা' এর সারির উপর পুনরাবৃত্তি করে nrow() ফাংশন ব্যবহার করে মোট সারির সংখ্যা পেতে। লুপ ভেরিয়েবল, “i”, “ডেটা”-এর সারির সম্পূর্ণ সংখ্যার মানগুলিকে গ্রহণ করে।



তারপর, আমরা বর্গাকার বন্ধনী নোটেশন '[ ]' ব্যবহার করে DataFrame “data”-এর i-th সারি বের করি। নিষ্কাশিত সারি একটি 'সারি' ভেরিয়েবলে সংরক্ষণ করা হয় যা print() ফাংশন দ্বারা প্রিন্ট করা হবে।





সুতরাং, লুপ ডেটাফ্রেমের সমস্ত সারিগুলির উপর পুনরাবৃত্তি করে এবং কলামের মানগুলির সাথে আউটপুটে সারি সংখ্যাগুলি প্রদর্শন করে।



উদাহরণ 2: ডেটাফ্রেম কলামের জন্য লুপ ব্যবহার করা

একইভাবে, আমরা নির্দিষ্ট ডেটাফ্রেমের কলামগুলি লুপ করার জন্য R-এ for-loop ব্যবহার করতে পারি। আমরা কলামের উপর লুপ করার জন্য পূর্ববর্তী কোড ব্যবহার করতে পারি কিন্তু আমাদের অবশ্যই for-loop-এ ncol() ফাংশন ব্যবহার করতে হবে। বিপরীতভাবে, ফর-লুপ ব্যবহার করে ডেটাফ্রেমের কলামগুলি লুপ করার জন্য আমাদের কাছে সবচেয়ে সহজ পদ্ধতি রয়েছে। এই জন্য নিম্নলিখিত 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 (df)) {

কলাম <- df[[কল]]

মুদ্রণ (কলাম)

}

এখানে, আমরা প্রথমে df ভেরিয়েবল তৈরি করি যেখানে data.frame() কলাম সন্নিবেশের সাথে নিযুক্ত করা হয়। 'df' ডেটাফ্রেমে তিনটি কলাম রয়েছে যা সংখ্যাসূচক মান ধারণ করে। এর পরে, আমরা colnames() ফাংশন ব্যবহার করে 'ডেটা' ডেটাফ্রেমের কলামের নামগুলির উপর পুনরাবৃত্তি করতে একটি ফর-লুপ ব্যবহার করি। প্রতিটি পুনরাবৃত্তিতে, লুপ ভেরিয়েবল 'col' বর্তমান কলামের নাম নেয়। নিষ্কাশিত কলামটি তারপর একটি নতুন ভেরিয়েবলে সংরক্ষণ করা হয় যা 'কলাম'।

সুতরাং, 'কলাম' ভেরিয়েবলের ডেটা নিম্নলিখিত কনসোলে আউটপুট প্রিন্ট করে:

উদাহরণ 3: পুরো ডেটাফ্রেমে ফর-লুপ ব্যবহার করা

পূর্বের উদাহরণগুলিতে, আমরা যথাক্রমে ফর-লুপ ব্যবহার করে কলাম এবং সারিগুলি লুপ করেছি। এখন, আমরা একই সাথে ডেটাফ্রেমের সারি এবং কলাম উভয়ের উপর পুনরাবৃত্তি করতে নেস্টেড ফর লুপ ব্যবহার করি। R-এর কোডটি নিম্নলিখিতটিতে দেওয়া হয়েছে যেখানে কলাম এবং সারিগুলিতে নেস্টেড ফর-লুপ ব্যবহার করা হয়:

কর্মচারী <- data.frame(id=1:4,

names=c('কিম', 'জন', 'ইয়ান', 'মার্ক'),

অবস্থান=c('অস্ট্রেলিয়া', 'আমেরিকা', 'কানাডা', 'জর্ডান'),

বেতন=c(2000, 1800, 1500, 1000))

জন্য (1 সারিতে: nrow(কর্মচারী)) {

(1:ncol(কর্মচারীদের)) {

মুদ্রণ (পেস্ট করুন

}

}

এখানে, আমরা “কর্মচারী” ভেরিয়েবল ঘোষণা করি যেখানে কলাম সেট করার জন্য data.frame() বলা হয়। প্রতিটি কলামের মান ভেক্টর ব্যবহার করে নির্দিষ্ট করা হয়। তারপর, “কর্মচারী” ডেটাফ্রেমের সারি এবং কলামের জন্য, আমরা ডেটার উপর পুনরাবৃত্তি করতে দুটি নেস্টেড ফর-লুপ ব্যবহার করি। বাইরের লুপ '1:nrow(employees)' ব্যবহার করে নির্দিষ্ট ডেটাফ্রেমের সারির উপর পুনরাবৃত্তি করে। প্রতিটি সারির জন্য, '1:ncol(কর্মচারী)' ডেটাফ্রেমের কলামগুলিতে বারবার পুনরাবৃত্তি করতে ভিতরের লুপে ব্যবহৃত হয়।

এর পরে, নেস্টেড লুপের ভিতরে আমাদের একটি প্রিন্ট() ফাংশন রয়েছে যা সারি সূচক, কলাম সূচক এবং সেল মানকে একটি একক স্ট্রিংয়ে সংযুক্ত করতে পেস্ট() ফাংশন স্থাপন করে। এখানে কর্মচারী [সারি, কল] এক্সপ্রেশন বর্তমান কক্ষে মান পায় যেখানে সারি এবং কলাম যথাক্রমে বিদ্যমান সারি এবং কলাম সূচক।

এইভাবে, কনসোলের আউটপুট একক স্ট্রিং-এ সংযুক্ত সারি সূচক, কলাম সূচক এবং সেল মান দিয়ে পুনরুদ্ধার করা হয়।

উদাহরণ 4: R-এ ফর-লুপ বিকল্প পদ্ধতি

ফর লুপ এখন R ভাষায় সেকেলে। যাইহোক, এটি কিছু বিকল্প পদ্ধতি প্রদান করে যা ফর-লুপের মতোই কাজ করে এবং ফর-লুপের চেয়ে দ্রুত। পদ্ধতিটি 'অ্যাপ্লাই ফ্যামিলি' ফাংশন থেকে যা ডেটাফ্রেমের উপর পুনরাবৃত্তি করার জন্য পটভূমিতে ফর-লুপ চালায়। নিচের R কোডটি বিবেচনা করা যাক যেখানে sapply() ফাংশনটি DataFrame লুপ করার জন্য ব্যবহৃত হয়।

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

var2=c(6:10),

var3=c(11:15),

var4=c(16:20))

dfX

প্রয়োগ (dfX, যোগফল)

এখানে, আমরা প্রথমে “dfX” DataFrame প্রতিষ্ঠা করি data.frame() ফাংশনটিকে দুটি কলাম সহ কল ​​করে, প্রতিটিতে সংখ্যাসূচক মান রয়েছে। তারপরে আমরা মূল 'dfX' ডেটাফ্রেমটি কনসোলে প্রিন্ট করি। পরবর্তী ধাপে, আমরা প্রদত্ত ডেটাফ্রেমের উপর পুনরাবৃত্তি করতে এবং প্রতিটি কলামের যোগফল পেতে sapply() ফাংশন ব্যবহার করি। সাপ্লাই() ফাংশনটি সাধারণভাবে 'x' এবং 'FUN' আর্গুমেন্ট নেয়। এই ক্ষেত্রে, X হল 'dfX' ডেটাফ্রেম, এবং 'FUN' হল যোগফল() ফাংশন যা ডেটাফ্রেমের প্রতিটি কলামে প্রয়োগ করা হয়।

sapply() ফাংশনের মাধ্যমে অর্জিত পুনরাবৃত্তির ফলাফল নিম্নলিখিত স্ক্রীনে পাওয়া যায়। ডেটাফ্রেমের সমষ্টি অপারেশনের ফলাফল প্রতিটি কলামের জন্য দেখানো হয়। তাছাড়া, আমরা R-এর জন্য লুপ অপারেশনের জন্য 'অ্যাপ্লাই ফ্যামিলি' এর কিছু অন্যান্য ফাংশনও ব্যবহার করতে পারি:

উপসংহার

আমরা একটি নির্দিষ্ট ক্রিয়াকলাপ সম্পাদন করার জন্য ডেটাফ্রেমের সারি বা কলামগুলির উপর পুনরাবৃত্তি করতে ফর-লুপগুলির সাথে কাজ করি। কলাম এবং সারিগুলির উপর পুনরাবৃত্তি করতে জন্য-লুপ পৃথকভাবে ব্যবহৃত হয়। উপরন্তু, আমরা একই সময়ে ডেটাফ্রেমের কলাম এবং সারি উভয়ের উপর পুনরাবৃত্তির জন্য এটি ব্যবহার করি। বেশিরভাগ সময়, পছন্দসই ফলাফল পেতে ফাংশন প্রয়োগ করা আরও কার্যকর। এপ্লাই ফাংশনের উদাহরণ ফর-লুপ অপারেশনের শেষ উদাহরণে দেওয়া হয়েছে।