on
R কিকস্টার্টার - ০০ R জিনিসটা কি? এবং কেন শিখবো?
R একটি মাল্টি-প্যারাডাইম প্রোগ্রামিং ল্যাঙ্গুয়েজ এবং সফটওয়্যার এনভায়রনমেন্ট, যা সাধারণত স্ট্যাটিস্টিক্যাল কম্পিউটিং ও অ্যানালাইসিস, গ্রাফিক্স রিপ্রেজেন্টেশন এবং রিপোর্টিং এর জন্য খুবি জনপ্রিয়। তবে বর্তমানে R এর পরিধি আরো অনেক বড়।
১৯৯৩ সালে স্ট্যাটিস্টিক্যাল কম্পিউটিং ও রিসার্চের জন্য একটি নতুন ক্ষেত্র তৈরি করার উদ্দেশ্যে নিউজিল্যান্ডের অকল্যান্ড বিশ্ববিদ্যালয়ের দুই জন স্ট্যাটিস্টিসিয়ান Ross Ihaka এবং Robert Gentleman R প্রোজেক্টটি শুরু করেন। তাদের দুজনের নামের প্রথম অক্ষর ‘R’ এর উপর ভিত্তি করেই এই প্রোগ্রামিং ল্যাঙ্গুয়েজের নাম দেয়া হয় R. বর্তমানে R প্রোগ্রামিং ল্যাঙ্গুয়েজের ডেভলপমেন্ট ও দেখাশোনার দায়িত্ব পালন করছে R Development Core Team. R প্রোগ্রামিং ল্যাঙ্গুয়েজটি সম্পূর্ণ ফ্রি এবং GNU General Public License এর অধীনে।
কেন R প্রোগ্রামিং শিখবো?
যেকোনো নতুন প্রোগ্রামিং ল্যঙ্গুয়েজ শিখতে গেলে সবার আগে লাগে মোটিভেশন। আপনি কেন এই ল্যঙ্গুয়েজটি শিখছেন এবং এই ল্যাঙ্গুয়েজটি দিয়ে আপনি কি কি করতে পারবেন তা সম্পর্কে যদি আপনি আগে থেকে পরিষ্কার ধারনা না রাখেন তাহলে দু’দিন পরেই আপনি হারিয়ে যাবেন। ল্যাঙ্গুয়েজটি আর শেখা হবে না আপনার। তাই আসুন আমরা R প্রোগ্রামিং শেখার কিছু গুরুত্বপূর্ণ কারণ জেনে নেই।
১) ডাটা সায়েন্স, ডাটা অ্যানালাইসিস ও মেশিন লার্নিংঃ বর্তমান প্রযুক্তি বিশ্বে ডাটা সায়েন্স, ডাটা অ্যানালাইসিস ও মেশিন লার্নিং এর জনপ্রিয়তা ও প্রয়োজনীয়তা বৃদ্ধির সাথে সাথে R প্রোগ্রামিং এরও জনপ্রিয়তা ও প্রয়োজনীয়তা অসম্ভব রকমের বেড়ে গিয়েছে। R কে বর্তমানে বলা হচ্ছে “The lingua franca of data science”. ডাটা সায়েন্টিস্ট, ডাটা অ্যানালিস্ট ও ডাটা মাইনারদের পছন্দের টুল ও প্রোগ্রামিং ল্যাঙ্গুয়েজ হিসেবে R প্রোগ্রামিং এখন সবচেয়ে বেশি সমাদৃত। মেশিন লার্নিং এর জন্য R এ রয়েছে e1071, rpart, randomForest, gbm, kernlab এর মতো পাওারফুল সব প্যাকেজ এবং ডাটা ভিজ্যুয়ালাইজেশন এর জন্য রয়েছে সবচেয়ে জনপ্রিয় প্যাকেজ ggplot2. এখনকার অনেক জনপ্রিয় একটি কথা হয়তো শুনে থাকবেন “Data Scientist: The Sexiest Job of the 21st Century”. তাই আপনার টার্গেট যদি থাকে ডাটা সায়েন্টিস্ট, ডাটা অ্যানালিস্ট কিংবা মেশিন লার্নিং ইঞ্জিনিয়ার হওয়ার তাহলে R প্রোগ্রামিং আপনারই জন্য। এছাড়া আপনি যদি একজন স্ট্যাটিস্টিসিয়ান হন তাহলেতো R আপনার জন্য অতি মাত্রায় আবশ্যক একটি জিনিস।
২) একাডেমিয়া, রিসার্চ ও সায়েন্টেফিক কম্পিউটিংঃ R প্রোগ্রামিং বর্তমানে একাডেমিক সায়েন্টিস্ট ও রিসার্চারদের মধ্যে অন্যতম জনপ্রিয় ল্যাঙ্গুয়েজ। যেকোন রিসার্চেই আপনাকে ডাটা অ্যানালাইসিস, রিপ্রেজেন্টেশন ও রিপোর্টিং করতেই হবে এবং এসব কাজের জন্য R এর জুড়ি নেই। এছাড়া সায়েন্টেফিক কম্পিউটং এর জন্য R এ রয়েছে অনেক পাওারফুল ও এফিসিয়েন্ট প্যাকেজ। PhD রিসার্চারদের জন্য অন্যতম গুরুত্বপূর্ণ একটি টুল হল R.
৩) বিশ্বের নামিদামী সব কোম্পানিরা R ব্যাবহার করছে এবং প্রচুর চাকরির ক্ষেত্র তৈরি করছেঃ
☛ Google তাদের অ্যাডভার্টাইজিং ক্যাম্পেইনের জন্য ROI (Return on Investment) হিসেব করার কাজে, তাদের অর্থনৈতিক বিভিন্ন পূর্বাভাস ও বিগ-ডাটার বিভিন্ন স্ট্যাটিস্টিক্যাল মডেলিং করার কাজে R ব্যাবহার করছে।
☛ Twitter তাদের সাইটের ইউজার এক্সপেরিয়েন্স মনিটর করার জন্য R ব্যাবহার করছে।
☛ Facebook তাদের ডাটা অ্যানালাইসিস, বিগ-ডাটা ভিজ্যুয়ালাইজেশন, স্ট্যাটাস আপডেট ও প্রোফাইল পিকচারের মাধ্যমে ইউজারদের আচার আচরণ অ্যানালাইসিসের জন্য R ব্যাবহার করছে।
☛ ভিডিও গেইমিং এর ক্ষেত্রে Microsoft তাদের Xbox matchmaking এর জন্য R ব্যাবহার করছে।
☛ বিশ্বের অন্যতম জনপ্রিয় মটোর কোম্পানি Ford তাদের গাড়ীর ডিজাইন উন্নত করতে R ব্যাবহার করছে।
☛ US National Weather Service মারাত্মক সব বন্যার পূর্ভাবাস দেয়ায় R ব্যাবহার করছে।
শুধু এরাই নয় বিশ্বের অন্যান্য সব নামিদামী কোম্পানি ও ইন্ডাস্ট্রিতে প্রচুর পরিমাণে R ব্যাবহার করছে।
৪) বিপুল সংখ্যক প্যাকেজ এবং শক্তিশালী কমিউনিটিঃ R এর অন্যতম শক্তিশালী দিক হল এর প্রচুর পরিমাণ প্যাকেজের সংগ্রহশালা। বর্তমানে CRAN package repository তেই R এর ৮৫০০+ প্যাকেজ রয়েছে। CRAN (The Comprehensive R Archive Network) হল একটি বিশ্বজোড়া FTP ও ওয়েব সার্ভার এর নেটওয়ার্ক যেখানে R এর আপ-টু-ডেট ভার্সন, কোড, বিভিন্ন প্যাকেজ, ডকুমেন্টেশন ইত্যাদি স্টোর করা আছে। দেখা যাবে আপনি যে কাজই করতে যাননা কেন, মোটামুটি সব কাজের জন্যই R এর কোন না কোন প্যাকেজ পেয়ে যাবেন আপনি। এছাড়া R এর রয়েছে খুবি শক্তিশালী ও সহায়ক কমিউনিটি। R সংক্রান্ত যেকোনো সহায়তায় সর্বদা জাগ্রত থাকে এই কমিউনিটি। আরো রয়েছে R এর মেইলিং লিস্ট, বিভিন্ন মিট আপ ও সোশ্যাল গ্রুপ।
আশা করছি এতক্ষণে R কি এবং কেন R শিখবেন সেই ব্যাপারে আপনার স্বচ্ছ ধারণা হয়ে গিয়েছে। যদি হয়েই থাকে তাহলে নেক্সট পোষ্ট থেকে আমরা R প্রোগ্রামিং এ যাত্রা শুরু করবো। আর যদি কোন ভাবেই মোটিভেশন না জোগাড় করতে পারেন তাহলেও কোন সমস্যা নেই, আপনার যে প্রোগ্রামিং ল্যাঙ্গুয়েজ ভালো লাগে আপনি তাতেই এগুতে থাকুন।