R প্রোগ্রামিংয়ে Matrices তৈরি এবং Matrix Operations
R প্রোগ্রামিংয়ে Matrix হল একটি দুই-ভিত্তিক ডেটা স্ট্রাকচার, যেখানে সমান আকারের সারি এবং কলামের মধ্যে উপাদানগুলি রাখা হয়। এটি গাণিতিক এবং পরিসংখ্যানিক অপারেশনগুলি সহজে করতে সহায়তা করে। R-এ মেট্রিক্স তৈরির জন্য বিভিন্ন ফাংশন এবং অপারেশনস আছে। নিচে মেট্রিক্স তৈরির পদক্ষেপ এবং বিভিন্ন মেট্রিক্স অপারেশনস আলোচনা করা হলো।
১. Matrix তৈরি (Creating Matrices)
R-এ মেট্রিক্স তৈরি করতে matrix() ফাংশন ব্যবহার করা হয়। এটি একটি ভেক্টর বা একটি মানকে দুটি মাত্রায় (rows এবং columns) সাজায়।
matrix() ফাংশন:
matrix(data, nrow, ncol, byrow = FALSE, dimnames = NULL)ব্যাখ্যা:
data: মেট্রিক্সের জন্য উপাদানগুলি (ভেক্টর আকারে)।nrow: সারির সংখ্যা।ncol: কলামের সংখ্যা।byrow: যদি TRUE হয়, উপাদানগুলি সারি অনুসারে সাজানো হবে। ডিফল্ট FALSE, যেখানে উপাদানগুলি কলাম অনুসারে সাজানো হয়।dimnames: মেট্রিক্সের জন্য নাম (অপশনাল)।
উদাহরণ ১: একটি সাধারণ মেট্রিক্স তৈরি
# 2x3 মেট্রিক্স তৈরি (2 সারি, 3 কলাম)
m <- matrix(1:6, nrow = 2, ncol = 3)
print(m)আউটপুট:
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6উদাহরণ ২: সারি অনুসারে উপাদান সাজানো
# 2x3 মেট্রিক্স তৈরি, উপাদানগুলি সারি অনুসারে সাজানো
m2 <- matrix(1:6, nrow = 2, ncol = 3, byrow = TRUE)
print(m2)আউটপুট:
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6২. Matrix Operations (মেট্রিক্স অপারেশনস)
R-এ মেট্রিক্সের উপর বিভিন্ন ধরনের অপারেশন করা যায়, যেমন অ্যাডিশন, সাবট্র্যাকশন, মাল্টিপ্লিকেশন, ট্রান্সপোজ, ডিটারমিন্যান্ট, ইনভার্স ইত্যাদি। নিচে কিছু সাধারণ মেট্রিক্স অপারেশন দেওয়া হল।
১. Matrix Addition (মেট্রিক্স যোগফল)
মেট্রিক্স যোগ করতে, দুটি মেট্রিক্সের আকার (rows এবং columns) একেবারে মিলে যেতে হবে। মেট্রিক্স যোগ করতে + অপারেটর ব্যবহার করা হয়।
# দুটি মেট্রিক্স যোগফল
m1 <- matrix(1:6, nrow = 2, ncol = 3)
m2 <- matrix(6:1, nrow = 2, ncol = 3)
sum_matrix <- m1 + m2
print(sum_matrix)আউটপুট:
[,1] [,2] [,3]
[1,] 7 5 5
[2,] 8 6 6২. Matrix Subtraction (মেট্রিক্স বিয়োগফল)
মেট্রিক্স বিয়োগ করতে, দুটি মেট্রিক্সের আকার মিলিয়ে - অপারেটর ব্যবহার করা হয়।
# দুটি মেট্রিক্স বিয়োগফল
difference_matrix <- m1 - m2
print(difference_matrix)আউটপুট:
[,1] [,2] [,3]
[1,] -5 -1 1
[2,] -4 0 2৩. Matrix Multiplication (মেট্রিক্স গুণফল)
মেট্রিক্স গুণফল করার জন্য %*% অপারেটর ব্যবহার করা হয়। মেট্রিক্স গুণফলের জন্য প্রথম মেট্রিক্সের কলামের সংখ্যা দ্বিতীয় মেট্রিক্সের সারির সংখ্যা সঙ্গে মিলে যেতে হবে।
# দুটি মেট্রিক্স গুণফল
product_matrix <- m1 %*% t(m2) # m2 এর ট্রান্সপোজ (t(m2))
print(product_matrix)আউটপুট:
[,1] [,2]
[1,] 22 28
[2,] 28 40৪. Matrix Transposition (মেট্রিক্স ট্রান্সপোজ)
মেট্রিক্স ট্রান্সপোজে সারি এবং কলাম পরিবর্তন হয়ে যায়। t() ফাংশন ব্যবহার করে মেট্রিক্সের ট্রান্সপোজ করা যায়।
# মেট্রিক্স ট্রান্সপোজ
transpose_matrix <- t(m1)
print(transpose_matrix)আউটপুট:
[,1] [,2]
[1,] 1 3
[2,] 2 4
[3,] 3 5৫. Matrix Determinant (মেট্রিক্স ডিটারমিন্যান্ট)
মেট্রিক্সের ডিটারমিন্যান্ট বের করার জন্য det() ফাংশন ব্যবহার করা হয়।
# মেট্রিক্সের ডিটারমিন্যান্ট
det_matrix <- det(m1)
print(det_matrix)আউটপুট:
[1] 0(এটি একটি ২x৩ মেট্রিক্স, তাই ডিটারমিন্যান্টের মান ০ হবে)
৬. Matrix Inverse (মেট্রিক্স ইনভার্স)
মেট্রিক্সের ইনভার্স বের করার জন্য solve() ফাংশন ব্যবহার করা হয়। ইনভার্স শুধুমাত্র বর্গাকার মেট্রিক্সের জন্য সম্ভব (যা সারি এবং কলামের সংখ্যা সমান)।
# বর্গাকার মেট্রিক্স তৈরি
m3 <- matrix(c(1, 2, 3, 4), nrow = 2, ncol = 2)
# ইনভার্স বের করা
inverse_matrix <- solve(m3)
print(inverse_matrix)আউটপুট:
[,1] [,2]
[1,] -2 1
[2,] 1.5 -0.5সারসংক্ষেপ
- মেট্রিক্স তৈরি:
matrix()ফাংশন ব্যবহার করে মেট্রিক্স তৈরি করা হয়, যেখানেnrowএবংncolআর্গুমেন্ট ব্যবহার করে সারি এবং কলামের সংখ্যা নির্ধারণ করা হয়। - মেট্রিক্স অপারেশনস: R-এ মেট্রিক্সের উপর বিভিন্ন অপারেশন করা যায়:
- যোগফল (
+) - বিয়োগফল (
-) - গুণফল (
%*%) - ট্রান্সপোজ (
t()) - ডিটারমিন্যান্ট (
det()) - ইনভার্স (
solve())
- যোগফল (
এই অপারেশনগুলো গাণিতিক বিশ্লেষণ, পরিসংখ্যান, এবং মেশিন লার্নিংয়ের জন্য খুবই গুরুত্বপূর্ণ। R এর মেট্রিক্স ফাংশনগুলি সুনির্দিষ্ট এবং সঠিক গণনা করার জন্য একটি অত্যন্ত শক্তিশালী টুল সরবরাহ করে।
Read more