R-এ ডেটাফ্রেম কীভাবে স্থানান্তর করবেন

R E Detaphrema Kibhabe Sthanantara Karabena



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

উদাহরণ 1: R-এ T() ফাংশন ব্যবহার করে ডেটাফ্রেম স্থানান্তর করুন

t() ফাংশন হল R-এর একটি অন্তর্নির্মিত ফাংশন যা একটি ডেটাফ্রেম স্থানান্তর করতে ব্যবহৃত হয়। যাইহোক, এটি ডেটাফ্রেমকে একটি ম্যাট্রিক্সে রূপান্তর করে, তাই যেকোনো অ-সংখ্যিক কলাম অক্ষর স্ট্রিংয়ে রূপান্তরিত হয়। ডেটাফ্রেম স্থানান্তর করতে নিম্নলিখিত R স্ক্রিপ্টটি বিবেচনা করুন:







MyData = data.frame(c1 = c(1, 2, 3, 4, 5),

c2 = c(6, 7, 8, 9, 10),
c3 = c(11, 12, 13, 14, 15))

row.names(MyData) = c('r1','r2','r3','r4','r5')

t(MyData)

এখানে, আমরা MyData ভেক্টর ঘোষণা করি এবং এতে data.frame() বরাদ্দ করি। আমরা data.frame() ফাংশনের মধ্যে মান সহ তিনটি কলাম ধারণ করে নমুনা ডেটা সন্নিবেশ করি। এর পরে, আমরা 'row.names()' ফাংশনটি ব্যবহার করি এবং 'MyData' DataFrame-এর মানগুলির জন্য সারির নামগুলি সেট করি। অবশেষে, আমরা t() ফাংশন ব্যবহার করে 'MyData' DataFrame স্থানান্তর করি।



নিম্নলিখিত আউটপুট ডেটাফ্রেমের স্থানান্তর দেখায় যেখানে মূল ডেটাফ্রেমের সারি নামগুলি স্থানান্তরিত ডেটাফ্রেমের কলামের নাম হয়ে যায় এবং মূল ডেটাফ্রেমের কলামের নামগুলি স্থানান্তরের সময় হারিয়ে যায়:







উদাহরণ 2: R-এ Transpose() ফাংশন ব্যবহার করে ডেটাফ্রেম স্থানান্তর করুন

'data.table' প্যাকেজ থেকে transpose() ফাংশন একটি DataFrame স্থানান্তর করতে ব্যবহার করা যেতে পারে এবং এটি একটি DataFrame প্রদান করে। অতএব, আমাদের নিশ্চিত করতে হবে যে 'data.table' R-এ ইনস্টল করা আছে। যদি এটি না পাওয়া যায়, তাহলে আমরা নিম্নলিখিত কমান্ড দিয়ে এটি ইনস্টল করতে পারি:

install.packages('data.table')

এখন, ডাটাফ্রেম ট্রান্সপোজ করার জন্য R-এ ট্রান্সপোজ() ফাংশন অ্যাক্সেস করতে আমরা 'data.table' প্যাকেজটি সহজেই আমদানি করতে পারি। নিম্নলিখিত R কোডটি বিবেচনা করুন যেখানে ট্রান্সপোজ() ফাংশনটিকে ডেটাফ্রেম ট্রান্সপোজ করতে বলা হয়:



df <- data.frame(A = c(1:5),

B = c(6:10),
C = c(11:15))


row.names(df) <- c('r1', 'r2', 'r3', 'r4', 'r5')

df

এখানে, আমরা তিনটি কলাম এবং পাঁচটি সারি সহ 'df' ডেটাফ্রেম তৈরি করি যেখানে প্রতিটি কলামে যথাক্রমে 1 থেকে 5, 6 থেকে 10 এবং 11 থেকে 15 পর্যন্ত সংখ্যার ক্রম থাকে। উপরন্তু, আমরা row.names() ফাংশন ব্যবহার করে DataFrame সারির নাম বরাদ্দ করি। এর পরে, আমরা মূল ডেটাফ্রেমটি কনসোলে মুদ্রণ করি।

আসল ডেটাফ্রেম এখানে স্ক্রিনে দেখানো হয়েছে:

এর পরে, আমরা ডেটাফ্রেমের সারি এবং কলামগুলি পরিবর্তন করে আসল 'df' ডেটাফ্রেমটি স্থানান্তর করি।

লাইব্রেরি(data.table)

df_trans <- ট্রান্সপোজ(df)

rownames(df_trans) <- colnames(df)

colnames(df_trans) <- rownames(df)

df_trans

এর জন্য, আমরা প্রথমে 'data.table' লাইব্রেরি লোড করি যা R-এ ট্যাবুলার ডেটার সাথে কাজ করার জন্য টুল সরবরাহ করে। তারপর, 'data.table' লাইব্রেরি থেকে transpose() ফাংশন ব্যবহার করা হয়। ফলস্বরূপ ট্রান্সপোজ করা ডেটাফ্রেম একটি নতুন ভেরিয়েবলের সাথে বরাদ্দ করা হয়েছে যা হল 'df_t'। এর পরে, আমরা rownames() ফাংশন ব্যবহার করে স্থানান্তরিত 'df_trans' ডেটাফ্রেমে সারি নাম হিসাবে মূল 'df' ডেটাফ্রেমের কলামের নামগুলি বরাদ্দ করি। তারপরে, colnames() ফাংশন ব্যবহার করে ট্রান্সপোজ করা 'df_trans' ডেটাফ্রেমে কলামের নাম হিসাবে মূল 'df' ডেটাফ্রেমের সারি নামগুলি বরাদ্দ করা হয়।

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

উদাহরণ 3: R-এ Tidyr Library Gather() ফাংশন ব্যবহার করে ডেটাফ্রেম স্থানান্তর করুন

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

install.packages('tidyr')

আসুন নিম্নলিখিত R কোড বিবেচনা করুন। আমরা এই প্যাকেজের gather() ফাংশনটি ব্যাপক ডেটাফ্রেমকে দীর্ঘস্থায়ী করতে ব্যবহার করি:

লাইব্রেরি(পরিপাটি)

n = 10

tidy_df = data.frame(

ID = c(1:n),
পরীক্ষা1_মার্কস = c(73, 219, 86, 192, 99,
188, 72, 35, 91, 165),
পরীক্ষা2_মার্কস = c(217, 89, 66, 334, 99,
101, 108, 233, 45, 300),
পরীক্ষা3_মার্কস = c(39, 101, 209, 289, 176,
120, 89, 119, 199, 96))

পরিপাটি_ডিএফ

এখানে, একটি 'বিস্তৃত' ডেটাফ্রেমকে tidyr ব্যবহার করে একটি 'দীর্ঘ' ডেটাফ্রেমে রূপান্তরিত করা হয়। প্রথমত, আমরা তিনটি কলাম সহ একটি 'tidy_df' ডেটাফ্রেম তৈরি করি। এই কলাম প্রতিটি 10 ​​মান আছে.

দীর্ঘ ডেটাফ্রেম নিম্নলিখিত আউটপুট স্ক্রিনে দেখানো হয়েছে:

তারপর, আমরা পাইপ অপারেটর “%>%” এর সাথে gather() ফাংশনে “tidy_df” DataFrame পাস করি। tidyr থেকে gather() ফাংশনটি 'tidy_df' কে একটি দীর্ঘ ডেটাফ্রেমে রূপান্তর করতে ব্যবহৃত হয়। gather() ফাংশন 'Exams' নামের সাথে ইনপুট নেয় যা একটি নতুন কলামকে নির্দেশ করে যা পরিবর্তনশীল নামগুলিকে ধরে রাখতে। 'মার্কস' কলামটি নির্দিষ্ট করে যা 'পরীক্ষা1_মার্কস' এবং 'পরীক্ষা2_মার্কস' একসাথে সংগ্রহ করে।

দীর্ঘ <- পরিপাটি_ডিএফ %>%

সংগ্রহ (পরীক্ষা, মার্কস,
পরীক্ষা1_মার্কস: পরীক্ষা2_মার্কস)


দীর্ঘ

আউটপুটটি কনসোলে দীর্ঘ ডেটাফ্রেম প্রদর্শন করে যার এখন তিনটি কলাম সহ একটি 'দীর্ঘ' বিন্যাস রয়েছে:

উদাহরণ 4: R-এ Pivot_Wider() ফাংশন ব্যবহার করে ডেটাফ্রেম স্থানান্তর করুন

পরবর্তী উন্নত ফাংশন যা আমরা ডেটাফ্রেম স্থানান্তর করতে ব্যবহার করি তা হল pivot_wider() ফাংশন। pivot_wider() হল R-এর tidyr প্যাকেজের একটি ফাংশন যা আমাদের একটি 'দীর্ঘ' ডেটাফ্রেমকে একটি 'প্রশস্ত' ডেটাফ্রেমে রূপান্তর করতে দেয়। ফাংশনটি তিনটি প্রধান আর্গুমেন্ট নেয় যা R এর নিম্নলিখিত কোডে আলোচনা করা হয়েছে:

লাইব্রেরি(পরিপাটি)

df <- data.frame(

id = c(1, 2, 3, 1, 2, 3),
var = c('v1', 'v1', 'v1', 'v2', 'v2', 'v2'),
val = c(4, 5, 6, 7, 8, 9)


)

df

এখানে, আমরা প্রথমে library() ফাংশন ব্যবহার করে tidyr প্যাকেজ লোড করি। তারপর, আমরা 'df' এ নমুনা ডেটাফ্রেম সেট করি। 'df' ডেটাফ্রেমে তিনটি কলাম রয়েছে যা সেই অনুযায়ী বিভিন্ন মান ধারণ করে। নমুনা DataFrame নিম্নলিখিত আউটপুট দেখা যেতে পারে:

এর পরে, tidyr থেকে pivot_wider() ফাংশনটি 'df' কে 'df_wide' এ রূপান্তর করতে ব্যবহৃত হয়।

df_wide <- pivot_wider(df, names_from = var, values_from = val)

df_wide

pivot_wider() ফাংশন এখানে তিনটি আর্গুমেন্ট নেয়। প্রথমত, এটি 'df' ডেটাফ্রেমকে রূপান্তরিত করতে লাগে। তারপর, names_from আর্গুমেন্ট নতুন পরিবর্তনশীল নামের জন্য ব্যবহার করা কলামের নাম সেট করে। অবশেষে, values_from আর্গুমেন্ট নতুন মানের জন্য ব্যবহার করা কলামের নাম নির্দিষ্ট করে।

নিম্নলিখিত আউটপুটটি প্রশস্ত ডেটাফ্রেমে দীর্ঘ ডেটাফ্রেমের স্থানান্তরকে প্রতিনিধিত্ব করে:

উপসংহার

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