R-এ ডেটাফ্রেম সাজান

R E Detaphrema Sajana



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

উদাহরণ 1: R-এ Order() পদ্ধতি ব্যবহার করে ডেটাফ্রেম সাজানো

R-এ অর্ডার() ফাংশনটি ডেটাফ্রেমকে এক বা একাধিক কলাম দ্বারা সাজাতে ব্যবহৃত হয়। অর্ডার ফাংশন ডেটাফ্রেমের সারিগুলিকে পুনরায় সাজানোর জন্য সাজানো সারির সূচকগুলি পায়।

emp = তথ্য ফ্রেম ( নাম = ( 'অ্যান্ডি' , 'মার্ক' , 'বনি' , 'ক্যারোলিন' , 'জন' ) ,

বয়স = ( একুশ , 23 , 29 , 25 , 32 ) ,

বেতন = ( 2000 , 1000 , 1500 , 3000 , 2500 ) )

বিড়াল ( ' \n \n ডাটাফ্রেম ক্রমানুসারে নাম অনুসারে সাজানো \n ' )

sorted_asc = emp [ সঙ্গে ( emp , আদেশ ( নাম ) ) , ]

ছাপা ( sorted_asc )

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







অত:পর, “নাম” কলাম দ্বারা ক্রমবর্ধমান ক্রমে ডেটাফ্রেমের বাছাই করা ফলাফল নিম্নোক্তভাবে প্রদর্শিত হয়। নিচের ক্রমানুসারে সাজানোর অপারেশন পেতে, আমরা আগের অর্ডার() ফাংশনে কলামের নামের সাথে নেতিবাচক চিহ্নটি নির্দিষ্ট করতে পারি:





উদাহরণ 2: R-এ Order() মেথড প্যারামিটার ব্যবহার করে ডেটাফ্রেম সাজানো

অধিকন্তু, অর্ডার() ফাংশন ডেটাফ্রেম সাজানোর জন্য ক্রমহ্রাসমান আর্গুমেন্ট নেয়। নিম্নোক্ত উদাহরণে, আমরা আর্গুমেন্টের সাথে অর্ডার() ফাংশনটি বাড়ানো বা কমানোর ক্রমে সাজানোর জন্য নির্দিষ্ট করি:





df = তথ্য ফ্রেম (

আইডি = ( 1 , 3 , 4 , 5 , 2 ) ,

অবশ্যই = ( 'পাইথন' , 'জাভা' , 'C++' , 'মঙ্গোডিবি' , 'আর' ) )

ছাপা ( 'আইডি অনুসারে হ্রাসকৃত ক্রমে সাজানো হয়েছে' )

ছাপা ( df [ আদেশ ( df$id , হ্রাস = সত্য ) , ] )

এখানে, আমরা প্রথমে “df” ভেরিয়েবল ঘোষণা করি যেখানে data.frame() ফাংশনটি তিনটি ভিন্ন কলাম দিয়ে সংজ্ঞায়িত করা হয়েছে। এর পরে, আমরা প্রিন্ট() ফাংশন ব্যবহার করি যেখানে আমরা একটি বার্তা প্রিন্ট করি যে ডেটাফ্রেমটি 'আইডি' কলামের উপর ভিত্তি করে হ্রাসকারী ক্রমে সাজানো হবে। এর পরে, আমরা বাছাই অপারেশন পরিচালনা করতে এবং সেই ফলাফলগুলি প্রিন্ট করতে আবার print() ফাংশনটি স্থাপন করি। প্রিন্ট() ফাংশনের ভিতরে, 'কোর্স' কলামের উপর ভিত্তি করে 'df' ডেটাফ্রেম সাজানোর জন্য আমরা 'order' ফাংশনকে কল করি। ক্রমহ্রাসমান ক্রমে সাজানোর জন্য 'হ্রাস' যুক্তিটি সত্যে সেট করা হয়েছে৷

নিচের চিত্রে, ডেটাফ্রেমের 'আইডি' কলামটি নিচের ক্রমে সাজানো হয়েছে:



যাইহোক, ক্রমবর্ধমান ক্রমানুসারে বাছাই করার ফলাফল পেতে, আমাদের অর্ডার() ফাংশনের ক্রমহ্রাসমান আর্গুমেন্ট FALSE এর সাথে সেট করতে হবে যেমনটি নিচে দেখানো হয়েছে:

ছাপা ( 'আইডি অনুসারে ক্রমবর্ধমান ক্রমে সাজানো হয়েছে' )

ছাপা ( df [ আদেশ ( df$id , হ্রাস = মিথ্যা ) , ] )

সেখানে, আমরা ঊর্ধ্বক্রম অনুসারে “id” কলাম দ্বারা ডেটাফ্রেমের সাজানোর অপারেশনের আউটপুট পাই।

উদাহরণ 3: R-এ Arrange() পদ্ধতি ব্যবহার করে ডেটাফ্রেম সাজানো

উপরন্তু, আমরা কলাম অনুসারে ডেটাফ্রেম সাজানোর জন্য arrange() পদ্ধতি ব্যবহার করতে পারি। আমরা আরোহী বা অবরোহী ক্রমে সাজাতে পারি। নিম্নলিখিত প্রদত্ত R কোড arrange() ফাংশন ব্যবহার করে:

লাইব্রেরি ( 'dplyr' )

ছাত্র = তথ্য ফ্রেম (

আইডি = ( 3 , 5 , 2 , 4 , 1 ) ,

চিহ্ন = ( 70 , 90 , 75 , ৮৮ , 92 ) )

ছাপা ( 'আইডি অনুসারে অর্ডার বাছাই করা' )

ছাপা ( ব্যবস্থা করা ( ছাত্র , আইডি ) )

এখানে, আমরা সাজানোর জন্য arrange() পদ্ধতি অ্যাক্সেস করতে R-এর “dplyr” প্যাকেজ লোড করি। তারপর, আমাদের কাছে data.frame() ফাংশন রয়েছে যা দুটি কলাম ধারণ করে এবং DataFrame-কে 'ছাত্র' ভেরিয়েবলে সেট করে। এরপরে, প্রদত্ত ডেটাফ্রেম সাজানোর জন্য আমরা প্রিন্ট() ফাংশনে “dplyr” প্যাকেজ থেকে arrange() ফাংশন স্থাপন করি। arrange() ফাংশনটি 'ছাত্র' ডেটাফ্রেমকে তার প্রথম আর্গুমেন্ট হিসাবে নেয়, তারপরে সাজানোর জন্য কলামগুলির 'আইডি' অনুসরণ করে। শেষে প্রিন্ট() ফাংশনটি সাজানো ডেটাফ্রেমকে কনসোলে প্রিন্ট করে।

নিচের আউটপুটে 'Id' কলামটি একটি ক্রমানুসারে কোথায় সাজানো হয়েছে তা আমরা দেখতে পাচ্ছি:

উদাহরণ 4: R-এ তারিখ অনুসারে ডেটাফ্রেম সাজানো

R-এ ডেটাফ্রেম তারিখের মান অনুসারেও সাজানো যেতে পারে। এই জন্য, তারিখগুলি ফরম্যাট করতে as.date() ফাংশন দিয়ে সাজানো ফাংশন নির্দিষ্ট করতে হবে।

ইভেন্ট তারিখ = তথ্য ফ্রেম ( ঘটনা = ( '৩/৪/২০২৩' , '2/2/2023' ,

'10/1/2023' , '৩/২৯/২০২৩' ) ,

চার্জ = ( 3100 , 2200 , 1000 , 2900 ) )

ইভেন্ট তারিখ [ আদেশ ( হিসাবে . তারিখ ( ঘটনা_তারিখ$ইভেন্ট , বিন্যাস = '%d/%m/%Y' ) ) , ]

এখানে, আমাদের একটি 'event_date' DataFrame আছে যেটিতে 'মাস/দিন/বছর' ফরম্যাটে তারিখের স্ট্রিং সহ 'ইভেন্ট' কলাম রয়েছে। আমাদের এই তারিখের স্ট্রিংগুলিকে আরোহী ক্রমে সাজাতে হবে। আমরা অর্ডার() ফাংশনটি ব্যবহার করি যা ডাটাফ্রেমকে 'ইভেন্ট' কলাম দ্বারা আরোহী ক্রমে সাজায়। আমরা 'ইভেন্ট' কলামের তারিখের স্ট্রিংগুলিকে 'as.Date' ফাংশন ব্যবহার করে প্রকৃত তারিখে রূপান্তর করে এবং 'ফরম্যাট' প্যারামিটার ব্যবহার করে তারিখের স্ট্রিংগুলির বিন্যাস নির্দিষ্ট করে এটি সম্পন্ন করি।

এইভাবে, আমরা 'ইভেন্ট' তারিখের কলাম দ্বারা ক্রমবর্ধমান ক্রমে সাজানো ডেটা উপস্থাপন করি।

উদাহরণ 5: R-এ Setorder() পদ্ধতি ব্যবহার করে ডেটাফ্রেম সাজানো

একইভাবে, setorder() হল DataFrame সাজানোর আরেকটি পদ্ধতি। এটি arrange() পদ্ধতির মত আর্গুমেন্ট নিয়ে ডেটাফ্রেম সাজায়। setorder() পদ্ধতির জন্য R কোড নিম্নরূপ দেওয়া হয়েছে:

লাইব্রেরি ( 'ডেটা. টেবিল' )

d1 = তথ্য ফ্রেম ( অর্ডার আইডি = ( 1 , 4 , 2 , 5 , 3 ) ,

অর্ডার আইটেম = ( 'আপেল' , 'কমলা' , 'কিউই' , 'আম' , 'কলা' ) )

ছাপা ( অর্ডার সেট করুন ( d1 , অর্ডার আইটেম ) )

এখানে, আমরা প্রথমে data.table লাইব্রেরি সেট করি যেহেতু setorder() এই প্যাকেজের কাজ। তারপর, আমরা ডেটা ফ্রেম তৈরি করতে data.frame() ফাংশন ব্যবহার করি। DataFrame শুধুমাত্র দুটি কলামের সাথে নির্দিষ্ট করা হয় যা আমরা সাজানোর জন্য ব্যবহার করি। এর পরে, আমরা print() ফাংশনের মধ্যে setorder() ফাংশন সেট করি। setorder() ফাংশনটি 'd1' DataFrame কে প্রথম প্যারামিটার হিসেবে এবং 'orderId' কলামটিকে দ্বিতীয় প্যারামিটার হিসেবে নেয় যার দ্বারা DataFrame সাজানো হয়। 'সেটারডার' ফাংশন 'অর্ডারআইডি' কলামের মানগুলির উপর ভিত্তি করে ঊর্ধ্বক্রম ক্রমে ডেটা টেবিলের সারিগুলিকে পুনর্বিন্যাস করে।

সাজানো DataFrame হল R এর নিম্নলিখিত কনসোলে আউটপুট:

উদাহরণ 6: R-এ Row.Names() পদ্ধতি ব্যবহার করে ডেটাফ্রেম সাজানো

row.names() পদ্ধতিটি R-এ DataFrame সাজানোরও একটি উপায়। row.names() নির্দিষ্ট সারি অনুসারে ডেটাফ্রেম সাজায়।

df < - ডেটা। ফ্রেম ( টীম = ( 'এক্স' , 'এক্স' , 'এবং' , 'এবং' , 'সঙ্গে' ) ,

স্কোর = ( 91 , 80 , 86 , 83 , 95 ) )

সারি নাম ( df ) < - গ ( 'ক' , 'ডি' , 'গ' , 'এবং' , 'বি' )

df [ আদেশ ( সারি নাম ( df ) ) , ]

এখানে, data.frame() ফাংশন 'df' ভেরিয়েবলের মধ্যে প্রতিষ্ঠিত হয় যেখানে কলামগুলি মান সহ নির্দিষ্ট করা হয়। তারপর, row.names() ফাংশন ব্যবহার করে ডেটাফ্রেমের সারির নামগুলি নির্দিষ্ট করা হয়। এর পরে, আমরা সারি নাম অনুসারে ডেটাফ্রেম সাজানোর জন্য অর্ডার() ফাংশনকে কল করি। অর্ডার() ফাংশন সাজানো সারিগুলির সূচকগুলি প্রদান করে যা ডেটাফ্রেমের সারিগুলিকে পুনর্গঠিত করতে ব্যবহৃত হয়।

আউটপুট বর্ণানুক্রমিকভাবে সারি অনুসারে সাজানো ডেটাফ্রেম দেখায়:

উপসংহার

আমরা R-এ ডেটাফ্রেম বাছাই করার জন্য বিভিন্ন ফাংশন দেখেছি। প্রতিটি পদ্ধতির একটি সুবিধা রয়েছে এবং সাজানোর অপারেশন প্রয়োজন। R ভাষায় ডেটাফ্রেম সাজানোর আরও পদ্ধতি বা উপায় থাকতে পারে তবে সাজানোর জন্য order(), arrange(), এবং setorder() পদ্ধতিগুলি সবচেয়ে গুরুত্বপূর্ণ এবং ব্যবহার করা সহজ।