// API callback
labelthumbs({"version":"1.0","encoding":"UTF-8","feed":{"xmlns":"http://www.w3.org/2005/Atom","xmlns$openSearch":"http://a9.com/-/spec/opensearchrss/1.0/","xmlns$blogger":"http://schemas.google.com/blogger/2008","xmlns$georss":"http://www.georss.org/georss","xmlns$gd":"http://schemas.google.com/g/2005","xmlns$thr":"http://purl.org/syndication/thread/1.0","id":{"$t":"tag:blogger.com,1999:blog-1811735374964048282"},"updated":{"$t":"2023-10-17T02:02:09.503-07:00"},"category":[{"term":"Mahmud"},{"term":"R"},{"term":"ds"},{"term":"math"},{"term":"plot"},{"term":"visualization"},{"term":"Linux"},{"term":"paradox"},{"term":"probability"},{"term":"ggplot2"},{"term":"rimon"},{"term":"bio"},{"term":"statistics"},{"term":"RColorBrewer"},{"term":"bar"},{"term":"history"},{"term":"loop"},{"term":"regression"},{"term":"review"},{"term":"statistician"},{"term":"text-mining"},{"term":"tips"},{"term":"GIS"},{"term":"application"},{"term":"comparison"},{"term":"concept"},{"term":"distribution"},{"term":"dplyr"},{"term":"map"},{"term":"pie"},{"term":"r-basics"},{"term":"story"},{"term":"tools"},{"term":"EDA"},{"term":"SQL"},{"term":"Tuhin"},{"term":"aesthetics"},{"term":"azam"},{"term":"beginner"},{"term":"bioinfo"},{"term":"complex"},{"term":"convergence"},{"term":"data"},{"term":"economics"},{"term":"emon"},{"term":"excel"},{"term":"experiment"},{"term":"fallacy"},{"term":"git"},{"term":"guest_article"},{"term":"imaginary"},{"term":"new-thinking"},{"term":"number-theory"},{"term":"package"},{"term":"pi"},{"term":"prime"},{"term":"python"},{"term":"relational"},{"term":"report"},{"term":"research"},{"term":"sampling"},{"term":"science"},{"term":"scope"},{"term":"study"},{"term":"survey"},{"term":"terms"},{"term":"test"},{"term":"tidyverse"},{"term":"time-series"},{"term":"trick"}],"title":{"type":"text","$t":"Stat Mania"},"subtitle":{"type":"html","$t":"Making sense of statistics"},"link":[{"rel":"http://schemas.google.com/g/2005#feed","type":"application/atom+xml","href":"https:\/\/www.statmania.info\/feeds\/posts\/default"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default?alt=json-in-script\u0026orderby=published"},{"rel":"alternate","type":"text/html","href":"https:\/\/www.statmania.info\/"},{"rel":"hub","href":"http://pubsubhubbub.appspot.com/"},{"rel":"next","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default?alt=json-in-script\u0026start-index=26\u0026max-results=25\u0026orderby=published"}],"author":[{"name":{"$t":"আব্দুল্যাহ আদিল মাহমুদ"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/17462749408174996847"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"31","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEit8SKqHP7h2U7KFH71SRzI2ve5Vrmx4co6PDUV6gJtAmBpvVEYjNOhxhgOobEgy0DKuW-i1l3AMvAYEOsk1h4XDEer_Bb2FLmwEBQCfD3eJbx4HP7WzH3E_Ia6uG01yB5LJAwXSOlf0NqcsL4_l4VLWw8e394Xb8FZv40yeEQY5do8\/s220\/adil.jpg"}}],"generator":{"version":"7.00","uri":"http://www.blogger.com","$t":"Blogger"},"openSearch$totalResults":{"$t":"77"},"openSearch$startIndex":{"$t":"1"},"openSearch$itemsPerPage":{"$t":"25"},"entry":[{"id":{"$t":"tag:blogger.com,1999:blog-1811735374964048282.post-623799717027321305"},"published":{"$t":"2022-06-12T10:19:00.008-07:00"},"updated":{"$t":"2022-06-12T10:20:45.129-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"Linux"},{"scheme":"http://www.blogger.com/atom/ns#","term":"loop"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Mahmud"}],"title":{"type":"text","$t":"লিনাক্স: ফোল্ডারের সব ফাইলকে রিনেইম করুন এক লাইন কোডে"},"content":{"type":"html","$t":"\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\u003Ca href=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEhCZ21DDVGtXzt_U4CZRI3rhfeRL5Zw65d7knWVIBdmCw9P3kKjMFXx9EEeDCtWAAH3z_F0aBVMx-0nxyTzk6iLKZMTeYVHep13OVF07bQSR6VnFx1b6Qx8QkKpqbzOECcSk_uLmuYvudZ2_8I66iIubqQ7Ka5EnxqfJkOf3m_Tsog1kc07YiwoN0vG\/s1200\/bash_rename_all.png\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg border=\"0\" data-original-height=\"1200\" data-original-width=\"1200\" height=\"320\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEhCZ21DDVGtXzt_U4CZRI3rhfeRL5Zw65d7knWVIBdmCw9P3kKjMFXx9EEeDCtWAAH3z_F0aBVMx-0nxyTzk6iLKZMTeYVHep13OVF07bQSR6VnFx1b6Qx8QkKpqbzOECcSk_uLmuYvudZ2_8I66iIubqQ7Ka5EnxqfJkOf3m_Tsog1kc07YiwoN0vG\/s320\/bash_rename_all.png\" width=\"320\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\u003Cbr \/\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003Eহঠাৎ একটা প্রয়োজনে একটা ফোল্ডারের সব ফাইলের নাম চেঞ্জ করা দরকার হলো। ২৭টি ফাইলে একটি একটি করে কাজ করতে সময় লাগবে অনেক। তার চেয়ে খারাপ হলো বিরক্তি। মনে পড়ল লিনাক্স কমান্ড লাইনের কথা। মনে হতেই ব্যাশে গিয়ে কোড লিখলাম।\u0026nbsp;\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003Eএ কাজের জন্য এক লাইনের কোডই যথেষ্ট।\u0026nbsp;\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\n\n\u003Ctextarea class=\"codebox\" id=\"txt1\" onclick=\"SelectAll('txt1');\" rows=\"1\"\u003Efor file in *; do mv \"$file\" `echo $file | tr ' ' '-'` ; done\n\u003C\/textarea\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003Eএখানে একটি লুপ তৈরি করা হয়েছে। \u003Ci\u003Edo \u003C\/i\u003Eএবং \u003Ci\u003Edone\u003C\/i\u003E দিয়ে লুপ শুরু ও শেষ হয়েছে। \u003Ci\u003Etr \u003C\/i\u003Eদিয়ে মূলত রিনেম করা হয়েছে। এখানে যেহেতু আমরা স্পেসকে পরিবর্তন করেছি তাই \u003Ci\u003Etr \u003C\/i\u003Eএর পরে \u003Ci\u003E' '\u003C\/i\u003E দেওয়া হয়েছে। অন্য কিছু চেঞ্জ করতে হলে '\u003Ci\u003E '\u003C\/i\u003E এর ভেতরে লিখলেই হবে। যেমন \u003Ci\u003Ea\u003C\/i\u003E বদলাতে চাইলে হবে \u003Ci\u003Etr 'a'\u003C\/i\u003E। একইভাবে ঠিক পরের অংশ লিখতে হবে।\u0026nbsp;\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003Eআর বিশেষ কিছু ফাইল চেঞ্জ করতে চাইলে তা * এর পরে লিখতে হবে। যেমন শুধু পিডিএফ (pdf) ফাইলগুলো রিনেম করতে হবে \u003Ci\u003Ein *.pdf;\u003C\/i\u003E।\u0026nbsp;\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003Eলিনাক্সে \u003Ci\u003Emv \u003C\/i\u003Eকমান্ড দিয়েই মূলত রিনেম করা হয়। আর লুপের জন্যেই ডলার সাইন দেওয়া হয়েছে।\u0026nbsp;\u003C\/div\u003E\u003C\/div\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/www.statmania.info\/feeds\/623799717027321305\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/www.statmania.info\/2022\/06\/linux-loop-rename.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/623799717027321305"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/623799717027321305"},{"rel":"alternate","type":"text/html","href":"https:\/\/www.statmania.info\/2022\/06\/linux-loop-rename.html","title":"লিনাক্স: ফোল্ডারের সব ফাইলকে রিনেইম করুন এক লাইন কোডে"}],"author":[{"name":{"$t":"আব্দুল্যাহ আদিল মাহমুদ"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/17462749408174996847"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"31","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEit8SKqHP7h2U7KFH71SRzI2ve5Vrmx4co6PDUV6gJtAmBpvVEYjNOhxhgOobEgy0DKuW-i1l3AMvAYEOsk1h4XDEer_Bb2FLmwEBQCfD3eJbx4HP7WzH3E_Ia6uG01yB5LJAwXSOlf0NqcsL4_l4VLWw8e394Xb8FZv40yeEQY5do8\/s220\/adil.jpg"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEhCZ21DDVGtXzt_U4CZRI3rhfeRL5Zw65d7knWVIBdmCw9P3kKjMFXx9EEeDCtWAAH3z_F0aBVMx-0nxyTzk6iLKZMTeYVHep13OVF07bQSR6VnFx1b6Qx8QkKpqbzOECcSk_uLmuYvudZ2_8I66iIubqQ7Ka5EnxqfJkOf3m_Tsog1kc07YiwoN0vG\/s72-c\/bash_rename_all.png","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-1811735374964048282.post-6110054214607562239"},"published":{"$t":"2021-08-30T06:48:00.003-07:00"},"updated":{"$t":"2023-04-24T10:23:14.368-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"bar"},{"scheme":"http://www.blogger.com/atom/ns#","term":"ggplot2"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Mahmud"},{"scheme":"http://www.blogger.com/atom/ns#","term":"pie"},{"scheme":"http://www.blogger.com/atom/ns#","term":"plot"},{"scheme":"http://www.blogger.com/atom/ns#","term":"RColorBrewer"},{"scheme":"http://www.blogger.com/atom/ns#","term":"visualization"}],"title":{"type":"text","$t":"ggplot2: বার চার্ট থেকে পাই চার্ট অভিযাত্রা "},"content":{"type":"html","$t":"\u003Cp\u003E\u0026nbsp;হ্যাঁ, \u003Ci\u003ER \u003C\/i\u003Eএর \u003Ci\u003Eggplot2 \u003C\/i\u003Eপ্যাকেজে পাই চার্টের মতো নান্দনিক চার্ট আঁকার সরাসরি কোনো উপায় নেই। আঁকতে হয় বার চার্ট থেকে ঘুরিয়ে। কিন্তু আসলেই কি চার্ট দুটো আলাদা? আসলে তো পাই চার্টও এক ধরনের বার চার্টই! যেখানে বারগুলো সোজা দাঁড়িয়ে না থেকে বৃত্তাকার পথে চলছে। উপরের দিকে না গিয়ে ঘুরছে।\u0026nbsp;\u003C\/p\u003E\u003Cp\u003E\u003C\/p\u003E\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\u003Ca href=\"https:\/\/lh3.googleusercontent.com\/-VKSsFqZlZ_I\/YSu-_vjHIpI\/AAAAAAAAGyI\/5WB5vdy2ktMpk3AQbfvoZA8qLlvXuRDtQCLcBGAsYHQ\/tmp_pie5.png\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg alt=\"\" data-original-height=\"1501\" data-original-width=\"1501\" height=\"640\" src=\"https:\/\/lh3.googleusercontent.com\/-VKSsFqZlZ_I\/YSu-_vjHIpI\/AAAAAAAAGyI\/5WB5vdy2ktMpk3AQbfvoZA8qLlvXuRDtQCLcBGAsYHQ\/w640-h640\/tmp_pie5.png\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/div\u003Eএই যে চার্টটিই দেখুন। পাই চার্টের এরিয়াগুলোকে চাইলে আপনি কৌণিক পথ বেয়ে চলা বার বা স্তম্ভ মনে করতে পারেন।\u0026nbsp;\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003Eএখন আমরা ধাপে ধাপে দেখব, কীভাবে বার চার্টটিকে আপনি পাই চার্টে রূপান্তরিত করবেন।\u0026nbsp;\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003Eআমরা কাজ করব নিচের ডেটাটি দিয়ে। এটা হলো যুক্তরাষ্ট্রের বিভিন্ন জাতিগোষ্ঠীর মানুষের শতাংশ।\u0026nbsp;\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Ctextarea class=\"codebox\" id=\"txt1\" onclick=\"SelectAll('txt1');\" rows=\"3\"\u003Eus_races \u003C- data.frame(\n  Race = c(\"White\", \"Black\", \"Multiracial\", \"Asian\", \"Others\"), \n  Percentage = c(61.6, 12.4, 10.2, 6, 9.8))\u003C\/textarea\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003Eএবার এখান থেকে বার চার্টটি আগে এঁকে ফেলি। বার চার্টের সংখ্যাগুলো একটি কলামে উপস্থিত থাকলে \u003Ci\u003Egeom_bar() \u003C\/i\u003Eএর ভেতরে\u0026nbsp;\u003Ci\u003Estat=\"identity\"\u003C\/i\u003E দিতে হয়। আর যদি এভাবে থাকে: \u003Ci\u003Etrue\u003C\/i\u003E, \u003Ci\u003Efalse\u003C\/i\u003E, \u003Ci\u003Efalse\u003C\/i\u003E, \u003Ci\u003Etrue \u003C\/i\u003Eইত্যাদি, তাহলে \u003Ci\u003Estat=\"identity\"\u003C\/i\u003E দেওয়া লাগবে না। \u003Ci\u003Ewidth \u003C\/i\u003Eনা দিলেও হবে। সেক্ষেত্রে স্বয়ংক্রিয়ভাবে বারগুলো মোটা বা চিকন হবে।\u0026nbsp;\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003Cdiv\u003E\u003Ctextarea class=\"codebox\" id=\"txt8\" onclick=\"SelectAll('txt8');\" rows=\"2\"\u003Eus_races %\u003E% ggplot(aes(Race, Percentage, fill = Race))+\n  geom_bar(stat=\"identity\", width = 0.6)\u003C\/textarea\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E%\u0026gt;% চিহ্নটির নাম পাইপ অপারেটর। এভাবে লেখা আর \u003Ci\u003Eggplot(data=us_races, aes...)\u003C\/i\u003E লেখা একই কথা। তবে এটা ব্যবহার করতে হলে \u003Ci\u003Etidyverse \u003C\/i\u003Eপ্যাকেজ লোড করে নিলেই। একই সাথে পাইপের \u003Ci\u003Emagrittr\u003C\/i\u003E, \u003Ci\u003Eggplot2\u003C\/i\u003E, \u003Ci\u003Edplyr\u003C\/i\u003Eসহ অনেকগুলো দরকারি প্যাকেজ লোড হয়ে যাবে।\u0026nbsp;\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\u003Ca href=\"https:\/\/lh3.googleusercontent.com\/-z5K5fClUR2g\/YSxk2BG4QHI\/AAAAAAAAGyQ\/N6-qXAB_RaU1BzqEZKLlud27YkpuOqnWQCLcBGAsYHQ\/tmp_bar1.png\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg alt=\"\" data-original-height=\"1796\" data-original-width=\"2012\" height=\"571\" src=\"https:\/\/lh3.googleusercontent.com\/-z5K5fClUR2g\/YSxk2BG4QHI\/AAAAAAAAGyQ\/N6-qXAB_RaU1BzqEZKLlud27YkpuOqnWQCLcBGAsYHQ\/w640-h571\/tmp_bar1.png\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\u003C\/div\u003E\u003Cdiv\u003E\n  \n  \u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003Eএবারে\u0026nbsp;\u003Ci\u003ERColorBrewer \u003C\/i\u003Eপ্যাকেজ দিয়ে বারের কালারগুলো সাজিয়ে নেই। না করলেও ক্ষতি নেই। পাশাপাশি বারের মধ্যেই প্রতিটি বারের সাথে সংশ্লিষ্ট সংখ্যাগুলো দেখিয়ে দেই।\u0026nbsp;\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E☛\u0026nbsp;\u003Ca href=\"https:\/\/www.statmania.info\/2019\/04\/r-ggplot2-rcolorbrewer.html\" target=\"_blank\"\u003ERColorBrewer যেভাবে প্লটকে সুন্দর করে\u003C\/a\u003E\u003C\/div\u003E\u003Cdiv\u003E☛\u0026nbsp;\u003Ca href=\"https:\/\/www.statmania.info\/2019\/10\/new-scatter.html\" target=\"_blank\"\u003Eপ্লট লেবেলিং করবেন যেভাবে\u003C\/a\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Ctextarea class=\"codebox\" id=\"txt2\" onclick=\"SelectAll('txt2');\" rows=\"5\"\u003Eus_races %\u003E% ggplot(aes(Race, Percentage, fill = Race))+\n  geom_bar(stat=\"identity\", width = 0.6)+\n  scale_fill_brewer(palette = \"Set2\")+\n  geom_text(data = us_races, aes(Race, Percentage-2, \n                                 label=paste0(Percentage, \"%\")))\u003C\/textarea\u003E\u0026nbsp;\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\u003Ca href=\"https:\/\/lh3.googleusercontent.com\/-7D9BRVsjs3k\/YSxnPt76IdI\/AAAAAAAAGyY\/ETNvIYKeZd0ctxeU9CNe_c1aKNlhNkplQCLcBGAsYHQ\/tmp_bar2.png\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg alt=\"\" data-original-height=\"1796\" data-original-width=\"2012\" height=\"571\" src=\"https:\/\/lh3.googleusercontent.com\/-7D9BRVsjs3k\/YSxnPt76IdI\/AAAAAAAAGyY\/ETNvIYKeZd0ctxeU9CNe_c1aKNlhNkplQCLcBGAsYHQ\/w640-h571\/tmp_bar2.png\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/div\u003Eখেয়াল করুন বারে ডান পাশে লিজেন্ড থাকার আসলে কোনো প্রয়োজন নেই। এটাকে ফেলেই দেওয়া যায়।\u0026nbsp;\u003Cbr \/\u003E\u003Cbr \/\u003E\u003C\/div\u003E\n\n\u003Cdiv\u003E\u003Ctextarea class=\"codebox\" id=\"txt3\" onclick=\"SelectAll('txt3');\" rows=\"6\"\u003Eus_races %\u003E% ggplot(aes(Race, Percentage, fill = Race))+\n  geom_bar(stat=\"identity\", width = 0.6)+\n  scale_fill_brewer(palette = \"Set2\")+\n  geom_text(data = us_races, aes(Race, Percentage-2, \n                                 label=paste0(Percentage, \"%\")))+\n  theme(legend.position = \"none\")\u003C\/textarea\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\u003Ca href=\"https:\/\/lh3.googleusercontent.com\/-32z68h1UP_c\/YSzHXzjnrtI\/AAAAAAAAGyg\/RS47qE1rsYQMOMYS6ctpAntrpGKHp24iACLcBGAsYHQ\/tmp_bar3.png\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg alt=\"\" data-original-height=\"1796\" data-original-width=\"2012\" height=\"571\" src=\"https:\/\/lh3.googleusercontent.com\/-32z68h1UP_c\/YSzHXzjnrtI\/AAAAAAAAGyg\/RS47qE1rsYQMOMYS6ctpAntrpGKHp24iACLcBGAsYHQ\/w640-h571\/tmp_bar3.png\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\u003Cbr \/\u003Eএবার পাই চার্ট বানানো শুরু করা যাক। প্রথম কাজ হলো, x অক্ষে Race রাখা যাবে না। পাই চার্টে যেহেতু এরিয়াগুলো একটা আরেকটার ওপরে থাকবে, তাই y অক্ষে সংখ্যাগুলো বসিয়ে Race দিয়ে কালার করে নিচ্ছি।\u0026nbsp;\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\n\n\u003Cdiv\u003E\u003Ctextarea class=\"codebox\" id=\"txt4\" onclick=\"SelectAll('txt4');\" rows=\"2\"\u003Eus_races %\u003E% ggplot(aes(x=\"\", y = Percentage, fill = Race))+\n  geom_bar(stat=\"identity\")\u003C\/textarea\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\u003Ca href=\"https:\/\/lh3.googleusercontent.com\/-3vpLiZjNAmc\/YSzJGiA7HuI\/AAAAAAAAGyo\/BBMKlkn4Ghc3KvUIG0Ey_ARbQHsBQutaQCLcBGAsYHQ\/tmp_pie1.png\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg alt=\"\" data-original-height=\"1796\" data-original-width=\"2012\" height=\"571\" src=\"https:\/\/lh3.googleusercontent.com\/-3vpLiZjNAmc\/YSzJGiA7HuI\/AAAAAAAAGyo\/BBMKlkn4Ghc3KvUIG0Ey_ARbQHsBQutaQCLcBGAsYHQ\/w640-h571\/tmp_pie1.png\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003Eএটাকে পাই চার্ট বলার সময় হয়নি এখনও। পাই চার্ট হবার জন্যে প্রস্তুত বলতে পারি।\u0026nbsp;\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003Eএখন সে কাজটাই করব। বারগুলোকে ঘুরিয়ে দিতে হবে। এটাই করবে \u003Ci\u003Ecoord_polar()\u003C\/i\u003E ফাংশনটা।\u0026nbsp;\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\n\n\u003Cdiv\u003E\u003Ctextarea class=\"codebox\" id=\"txt5\" onclick=\"SelectAll('txt5');\" rows=\"3\"\u003Eus_races %\u003E% ggplot(aes(x=\"\", y = Percentage, fill = Race))+\n  geom_bar(stat=\"identity\")+\n  coord_polar(\"y\")\u003C\/textarea\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\u003Ca href=\"https:\/\/lh3.googleusercontent.com\/-MKbYX_7R8NI\/YSzJMN85fzI\/AAAAAAAAGys\/crVtcGhZqVImQuUHr4fCdx_E2aFPcjV-QCLcBGAsYHQ\/tmp_pie2.png\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg alt=\"\" data-original-height=\"1796\" data-original-width=\"2012\" height=\"571\" src=\"https:\/\/lh3.googleusercontent.com\/-MKbYX_7R8NI\/YSzJMN85fzI\/AAAAAAAAGys\/crVtcGhZqVImQuUHr4fCdx_E2aFPcjV-QCLcBGAsYHQ\/w640-h571\/tmp_pie2.png\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\u003Cbr \/\u003Eদেখতে পাই চার্টের মতোই হয়েছে। তবে x অক্ষ, y অক্ষ ও আরও নানান জায়গায় অপ্রয়োজনীয় জিনিসে ভর্তি। এগুলো সরিয়ে একটু ক্লিন করি।\u0026nbsp;\u003Ci\u003Etheme_void()\u003C\/i\u003E কাজটা করে দেবে।\u0026nbsp;\u003C\/div\u003E\n  \n  \u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Ctextarea class=\"codebox\" id=\"txt9\" onclick=\"SelectAll('txt9');\" rows=\"4\"\u003Eus_races %\u003E% ggplot(aes(x=\"\", y = Percentage, fill = Race))+\n  geom_bar(stat=\"identity\")+\n  coord_polar(\"y\")+\n  theme_void()\u003C\/textarea\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\u003Ca href=\"https:\/\/lh3.googleusercontent.com\/-VAW0GvXSYCQ\/YSzLeSKi2fI\/AAAAAAAAGy4\/NwTwnUmvXGEvwYfzW0UxUCA-ZAe8463ZQCLcBGAsYHQ\/tmp_pie3.png\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg alt=\"\" data-original-height=\"1796\" data-original-width=\"2012\" height=\"571\" src=\"https:\/\/lh3.googleusercontent.com\/-VAW0GvXSYCQ\/YSzLeSKi2fI\/AAAAAAAAGy4\/NwTwnUmvXGEvwYfzW0UxUCA-ZAe8463ZQCLcBGAsYHQ\/w640-h571\/tmp_pie3.png\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\u003Cbr \/\u003Eএখন মোটামুটি কাজ চলার অবস্থায় আছে। এখনও অনেক কাজ করার সুযোগ আছে। লিজেন্ড না দিয়ে এরিয়ার ওপরই লেবেল দিয়ে দিলে ভাল হয়। এছাড়াও এরিয়ার মধ্যেই সংখ্যা বা পারসেন্টেজ দেখানো যায়। আমাদের ডেটায় অবশ্য সংখ্যাগুলোই পারসেন্টেজ। তাই দুটো একই কথা।\u0026nbsp;\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\n\n\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Ctextarea class=\"codebox\" id=\"txt6\" onclick=\"SelectAll('txt6');\" rows=\"8\"\u003Eus_races %\u003E% ggplot(aes(x=\"\", y = Percentage, fill = Race))+\n  geom_bar(stat=\"identity\")+\n  coord_polar(\"y\")+\n  theme_void()+\n  theme(legend.position = \"none\")+\n  geom_text(aes(label = paste0(Percentage, \" % \\n \", Race)), \n            position = position_stack(vjust = 0.5), \n            size = 4, color = \"black\")\u003C\/textarea\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\u003Ca href=\"https:\/\/lh3.googleusercontent.com\/-qRHnd1P3AU8\/YSzOtqPLa9I\/AAAAAAAAGzA\/XL5iz8PCmQYDEHHDwbRid04S1N86v1coACLcBGAsYHQ\/tmp_pie4.png\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg alt=\"\" data-original-height=\"1796\" data-original-width=\"2012\" height=\"571\" src=\"https:\/\/lh3.googleusercontent.com\/-qRHnd1P3AU8\/YSzOtqPLa9I\/AAAAAAAAGzA\/XL5iz8PCmQYDEHHDwbRid04S1N86v1coACLcBGAsYHQ\/w640-h571\/tmp_pie4.png\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\u003C\/div\u003E\u003Cdiv\u003Eএবার কালার কম্বিনেশন আরেকটু ঠিক করে নেই।\u0026nbsp;\u003C\/div\u003E\n\n\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Ctextarea class=\"codebox\" id=\"txt7\" onclick=\"SelectAll('txt7');\" rows=\"9\"\u003Eus_races %\u003E% ggplot(aes(x=\"\", y = Percentage, fill = Race))+\n  geom_bar(stat=\"identity\")+\n  coord_polar(\"y\")+\n  theme_void()+\n  theme(legend.position = \"none\")+\n  geom_text(aes(label = paste0(Percentage, \" % \\n \", Race)), \n            position = position_stack(vjust = 0.5), \n            size = 4, color = \"black\")+\n  scale_fill_brewer(palette = 2)\u003C\/textarea\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\n  \n  \u003Cbr \/\u003E\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-VKSsFqZlZ_I\/YSu-_vjHIpI\/AAAAAAAAGyI\/5WB5vdy2ktMpk3AQbfvoZA8qLlvXuRDtQCLcBGAsYHQ\/s640\/tmp_pie5.png\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg border=\"0\" data-original-height=\"640\" data-original-width=\"640\" height=\"640\" src=\"https:\/\/1.bp.blogspot.com\/-VKSsFqZlZ_I\/YSu-_vjHIpI\/AAAAAAAAGyI\/5WB5vdy2ktMpk3AQbfvoZA8qLlvXuRDtQCLcBGAsYHQ\/w640-h640\/tmp_pie5.png\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\u003Cbr \/\u003E\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cbr \/\u003Eচাইলে তো আরও কত কিছুই করা যায়। করার আগে চিন্তা করতে হবে সেটা কতটা অর্থবহ।\u0026nbsp;\u003Cp\u003E\u003C\/p\u003E\u003C\/div\u003E\u003Cdiv\u003Eপাই চার্ট ভাল না লাগলে যদি ডোনাট চার্ট আঁকতে চান, \u003Ca href=\"https:\/\/www.statmania.info\/2021\/08\/donut.html\" target=\"_blank\"\u003Eসেটাও করতে পারেন\u003C\/a\u003E।\u0026nbsp;\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-mHoavVXd0UI\/YSsTNECO1jI\/AAAAAAAAGyA\/6SucwBrswcsWcjU3VGGjmE_K7aykxgR4wCLcBGAsYHQ\/s640\/us_races_donut.png\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg border=\"0\" data-original-height=\"571\" data-original-width=\"640\" height=\"358\" src=\"https:\/\/1.bp.blogspot.com\/-mHoavVXd0UI\/YSsTNECO1jI\/AAAAAAAAGyA\/6SucwBrswcsWcjU3VGGjmE_K7aykxgR4wCLcBGAsYHQ\/w400-h358\/us_races_donut.png\" width=\"400\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\u003C\/div\u003E\n\n\u003C\/div\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/www.statmania.info\/feeds\/6110054214607562239\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/www.statmania.info\/2021\/08\/r-bar-to-pie.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/6110054214607562239"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/6110054214607562239"},{"rel":"alternate","type":"text/html","href":"https:\/\/www.statmania.info\/2021\/08\/r-bar-to-pie.html","title":"ggplot2: বার চার্ট থেকে পাই চার্ট অভিযাত্রা "}],"author":[{"name":{"$t":"আব্দুল্যাহ আদিল মাহমুদ"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/17462749408174996847"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"31","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEit8SKqHP7h2U7KFH71SRzI2ve5Vrmx4co6PDUV6gJtAmBpvVEYjNOhxhgOobEgy0DKuW-i1l3AMvAYEOsk1h4XDEer_Bb2FLmwEBQCfD3eJbx4HP7WzH3E_Ia6uG01yB5LJAwXSOlf0NqcsL4_l4VLWw8e394Xb8FZv40yeEQY5do8\/s220\/adil.jpg"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https:\/\/lh3.googleusercontent.com\/-VKSsFqZlZ_I\/YSu-_vjHIpI\/AAAAAAAAGyI\/5WB5vdy2ktMpk3AQbfvoZA8qLlvXuRDtQCLcBGAsYHQ\/s72-w640-h640-c\/tmp_pie5.png","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-1811735374964048282.post-8888975087748447472"},"published":{"$t":"2021-08-28T23:55:00.005-07:00"},"updated":{"$t":"2023-04-24T10:23:14.369-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"bar"},{"scheme":"http://www.blogger.com/atom/ns#","term":"ggplot2"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Mahmud"},{"scheme":"http://www.blogger.com/atom/ns#","term":"pie"},{"scheme":"http://www.blogger.com/atom/ns#","term":"plot"},{"scheme":"http://www.blogger.com/atom/ns#","term":"visualization"}],"title":{"type":"text","$t":"ডোনাট চার্ট আঁকুন সহজেই "},"content":{"type":"html","$t":"\u003Cp\u003E\u0026nbsp;পত্রিকার পাতা খুললেই ইদানিং সুন্দর সুন্দর ডোনাট চার্ট দেখা যায়। এগুলোও আসলে পাই চার্টই। তবে মাখখানে থাকে একটি ছিদ্র।\u0026nbsp;\u003C\/p\u003E\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-mHoavVXd0UI\/YSsTNECO1jI\/AAAAAAAAGyA\/6SucwBrswcsWcjU3VGGjmE_K7aykxgR4wCLcBGAsYHQ\/s2012\/us_races_donut.png\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg border=\"0\" data-original-height=\"1796\" data-original-width=\"2012\" height=\"572\" src=\"https:\/\/1.bp.blogspot.com\/-mHoavVXd0UI\/YSsTNECO1jI\/AAAAAAAAGyA\/6SucwBrswcsWcjU3VGGjmE_K7aykxgR4wCLcBGAsYHQ\/w640-h572\/us_races_donut.png\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/div\u003Eকিছু দিন মনে করতাম, R মনে হয় এমন প্লট বানাতে পারে না। মজার ব্যাপার হলো, অন্য কেউ পারে R পারবে না এমনটা হতেই পারে না। হলে এমন হতে পারে যে R পারে কিন্তু অন্যরা (যেমন এক্সেল, SPSS পাইথন) পারে না।\u0026nbsp;\u003Cbr \/\u003E\u003Cp\u003Eএই প্লটটাও R-এই বানিয়েছি।\u003C\/p\u003E\u003Cp\u003Eএমনিতে R-এর ggplot2 প্যাকেজে পাই চার্ট বানানোর জন্যে কোনো ফাংশন নেই। তবে একটু ঘুরিয়ে চিন্তা করলেই বোঝা যায়, পাই চার্ট আসলে এক ধরনের বার চার্টই। তবে বারগুলো খাড়াভাবে না থেকে কৌণিকভাবে অবস্থান করছে। একটা যেখানে শেষ আরেকটা সেখানে শুরু।\u0026nbsp;\u003C\/p\u003E\u003Cp\u003Eওপরের ডোনাট চার্টটির দিকেই দেখুন। এরিয়াগুলোকে চাইলেই বার হিসেবে কল্পনা করতে পারেন। অতএব, ডোনাট চার্টের কায়দা কানুন বুঝতে হলে বার চার্ট বানানোর নিয়ম জানতে হবে। একদম চিন্তা নেই, অনেকগুলো পোস্টে সেটা আমরা ব্যাখ্যা করেছি।\u0026nbsp;\u003C\/p\u003E\u003Cp\u003E☛\u0026nbsp;\u003Ca href=\"https:\/\/www.statmania.info\/2019\/04\/r-ggplot2-rcolorbrewer.html\" target=\"_blank\"\u003Eবার প্লট বানানোর কায়দা কানুন\u003C\/a\u003E\u003C\/p\u003E\n\nতাহলে বানিয়ে ফেলি। ও, আগে কিছু ডেটা বানিয়ে নেই। টেবিলটা \u003Ca href=\"https:\/\/en.wikipedia.org\/wiki\/United_States\"\u003Eউইকিপিডিয়া\u003C\/a\u003E থেকে নেওয়া।\u0026nbsp;\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\n\n\u003Ctextarea class=\"codebox\" id=\"txt1\" onclick=\"SelectAll('txt1');\" rows=\"3\"\u003Eus_races \u003C- tibble(\n  Race = c(\"White\", \"Black\", \"Multiracial\", \"Asian\", \"Others\"), \n  Percentage = c(61.6, 12.4, 10.2, 6, 9.8))\u003C\/textarea\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003Eএখানে আমি ডেটাফ্রেইম তৈরি করার জন্যে \u003Ci\u003Etidyverse\u003C\/i\u003E প্যাকেজমালার \u003Ci\u003Etibble()\u0026nbsp;\u003C\/i\u003Eফাংশন ব্যবহার করেছি। এভাবে করতে হলে আপনাকে \u003Ci\u003Elibrary(tidyverse)\u003C\/i\u003E কমান্ড দিয়ে এটা লোড করে নিতে হবে। চাইলে এটা লোড না করেও ডেটা বানাতে পারেন। সেক্ষেত্রে ফাংশনটা হবে \u003Ci\u003Edata.frame()\u003C\/i\u003E। তবে \u003Ci\u003Etidyverse \u003C\/i\u003Eলোড করলে সাথে সাথে \u003Ci\u003Eggplot2ও\u003C\/i\u003E লোড হয়ে যায়। আলাদাভাবে ggplot2 লোড করতে রান করুন\u0026nbsp;\u003Ci\u003Elibrary(ggplot2)\u003C\/i\u003E।\u0026nbsp;\u0026nbsp;\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003Eএবার প্লট করে ফেললেই হলো।\u0026nbsp;\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E\u0026nbsp;\n \n  \u003Ctextarea class=\"codebox\" id=\"txt2\" onclick=\"SelectAll('txt2');\" rows=\"9\"\u003Eus_races %\u003E% ggplot(aes(2, Percentage, fill = Race))+\n  geom_col(position = \"stack\", width = 1)+\n  xlim(0.5, 2.5)+\n  coord_polar(\"y\")+\n  theme_void()+\n  geom_text(aes(label = paste0(Percentage, \" % \\n \", Race)), \n            position = position_stack(vjust = 0.5), size = 4)+\n  scale_fill_brewer(palette = 10)+\n  theme(legend.position=\"none\")\u003C\/textarea\u003E\n  \n  \u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003Eবার প্লট বোঝার পরেও এটা না বুঝতে না পারলে কিছু ব্যাপার খেয়াল করুন:`\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Cul style=\"text-align: left;\"\u003E\u003Cli\u003Eএখানে পাই চার্ট বানানোর সুবিদার্থে আমরা geom_bar এর বদলে geom_col ব্যবহার করেছি।\u0026nbsp;\u003C\/li\u003E\u003Cli\u003Exlim দিয়ে ডোনাটের পুরুত্ব ঠিক করা হয়েছে। এর ওপর নির্ভর করে পাইয়ের ভেতরের ছিদ্র ছোট-বড় হবে।\u003C\/li\u003E\u003Cli\u003Eমূলত coord_polar দিয়ে বারগুলোকে কৌণিক রূপ দেওয়া হয়েছে।\u003C\/li\u003E\u003Cli\u003Etheme_void দিয়ে অপ্রয়োজনীয় ব্যাকগ্রাউন্ড রিমুভ করা হয়েছে।\u0026nbsp;\u003C\/li\u003E\u003Cli\u003Egeom_text সম্পর্কে আরও জানতে এই \u003Ca href=\"https:\/\/www.statmania.info\/2019\/10\/new-scatter.html\" target=\"_blank\"\u003Eলেখাটি দেখুন\u003C\/a\u003E।\u0026nbsp;\u003C\/li\u003E\u003Cli\u003Eবাকি জিনিসগুলো বিভিন্ন লেখায় আগেই বলেছি। দেখতে চাইলে \u003Ca href=\"https:\/\/www.statmania.info\/search\/label\/plot?max-results=12\" target=\"_blank\"\u003Eদেখে নিন\u003C\/a\u003E।\u003C\/li\u003E\u003Cli\u003Eপ্লট কালারিং করার \u003Ca href=\"https:\/\/www.statmania.info\/2018\/07\/r-colors.html\"\u003Eনানান উপায় দেখুন এখানে\u003C\/a\u003E।\u003C\/li\u003E\u003C\/ul\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003Eআজ এ পর্যন্তই।\u0026nbsp;\u003C\/div\u003E\u003C\/div\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/www.statmania.info\/feeds\/8888975087748447472\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/www.statmania.info\/2021\/08\/donut.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/8888975087748447472"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/8888975087748447472"},{"rel":"alternate","type":"text/html","href":"https:\/\/www.statmania.info\/2021\/08\/donut.html","title":"ডোনাট চার্ট আঁকুন সহজেই "}],"author":[{"name":{"$t":"আব্দুল্যাহ আদিল মাহমুদ"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/17462749408174996847"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"31","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEit8SKqHP7h2U7KFH71SRzI2ve5Vrmx4co6PDUV6gJtAmBpvVEYjNOhxhgOobEgy0DKuW-i1l3AMvAYEOsk1h4XDEer_Bb2FLmwEBQCfD3eJbx4HP7WzH3E_Ia6uG01yB5LJAwXSOlf0NqcsL4_l4VLWw8e394Xb8FZv40yeEQY5do8\/s220\/adil.jpg"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https:\/\/1.bp.blogspot.com\/-mHoavVXd0UI\/YSsTNECO1jI\/AAAAAAAAGyA\/6SucwBrswcsWcjU3VGGjmE_K7aykxgR4wCLcBGAsYHQ\/s72-w640-h572-c\/us_races_donut.png","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-1811735374964048282.post-2727352883062379616"},"published":{"$t":"2021-07-22T23:05:00.003-07:00"},"updated":{"$t":"2023-04-24T10:23:14.368-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"dplyr"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Mahmud"},{"scheme":"http://www.blogger.com/atom/ns#","term":"plot"},{"scheme":"http://www.blogger.com/atom/ns#","term":"R"},{"scheme":"http://www.blogger.com/atom/ns#","term":"tips"},{"scheme":"http://www.blogger.com/atom/ns#","term":"visualization"}],"title":{"type":"text","$t":"R প্রোগ্রামিং: সব কলামের তথ্য বা গ্রাফ বের করুন নিমিষেই "},"content":{"type":"html","$t":"\u003Cp\u003E\u0026nbsp;ধরুন আমাদের কাছে একটি ডেটাফ্রেইম আছে যাতে অনেকগুলো কলাম আছে। এগুলোর সবগুলোর গড় , মধ্যমা বা পরিমিত ব্যবধান আমরা এক কমান্ডেই বের করতে চাই।\u0026nbsp;\u003C\/p\u003E\u003Cp\u003Eআজকের পোস্টে আমরা R-এর বিল্ট-ইন ডেটাসেট \u003Ci\u003Eairquality \u003C\/i\u003Eব্যবহার করব। এতে ৬টি কলাম বা চলক আছে। \u003Cb\u003E\u003Ci\u003ERstudio \u003C\/i\u003E\u003C\/b\u003Eব্যবহার করলে আপনি \u003Ci\u003EView(airquality)\u003C\/i\u003E দিয়ে ডেটাকে একনজর দেখে নিতে পারেন। \u003Cb\u003E\u003Ci\u003ERstudio \u003C\/i\u003E\u003C\/b\u003Eব্যবহার না করে থাকলে প্রথমে ডেটাকে লোড করে নিতে হবে।\u0026nbsp;\u0026nbsp;\u003C\/p\u003E\n\n\u003Ctextarea class=\"codebox\" id=\"txt1\" onclick=\"SelectAll('txt1');\" rows=\"1\"\u003Edata(airquality)\u003C\/textarea\u003E\n\n\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003Eএবার \u003Ci\u003Estr \u003C\/i\u003Eদিয়ে দেখে নিতে পারেন কলাম বা চলকগুলো কী ধরনের। দেখা যাবে, পাঁচটি কলামই পূর্ণ সংখ্যা দিয়ে তৈরি। একটিতে আছে ভগ্নাংশ। তাহলে সবগুলো কলামই সংখ্যাবাচক।\u0026nbsp;\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003Eতাহলে এবার গড় করে ফেলি।\u0026nbsp;\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003Eস্বাভাবিক উপায়ে গড় বের করতে গেলে হয়ত আমরা এভাবে করব:\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\n\n\u003Ctextarea class=\"codebox\" id=\"txt2\" onclick=\"SelectAll('txt2');\" rows=\"3\"\u003Emean(airquality$Ozone, na.rm = TRUE)\nmean(airquality$Wind, na.rm = TRUE)\nmean(airquality$Temp, na.rm = TRUE)\u003C\/textarea\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003Eএখানে\u0026nbsp;\u003Ci\u003Ena.rm = TRUE\u003C\/i\u003E দেওয়ার কারণ হলো, ডেটায় কিছু মিসিং ভ্যালু\u0026nbsp; (\u003Ci\u003ENA\u003C\/i\u003E) আছে। এই কথা দিয়ে আমরা বলে দিয়েছি, সেগুলোকে বাদ দিয়ে হিসাব করে দাও।\u0026nbsp;\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003Eকিন্তু এভাবে একটা একটা করে গড় বের করা প্রোগ্রামিং-এর আদর্শ বিরোধী। কাজটা করে ফেলতে হবে একটা কমান্ড দিয়েই। আর সেটা করার উপায় আছে বেশ কয়েকটি।\u0026nbsp;\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003Eআমরা চাইলে এভাবে করতে পারি:\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\n\n\n\u003Ctextarea class=\"codebox\" id=\"txt3\" onclick=\"SelectAll('txt3');\" rows=\"1\"\u003Eapply(airquality, 2, mean)\u003C\/textarea\u003E\u0026nbsp;\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E\u0026nbsp;এখানে 2 দিয়ে বোঝানো হলো, আমরা কলামের গড় চাই। সারির (row) গড় চাইলে দিতাম ১। খেয়াল করে দেখুন চলকের নামসহ কত সুন্দর করে গড় দেখানো হয়েছে। আরও খেয়াল করলে দেখবেন, প্রথম দুই কলামের গড়ের জায়গায় \u003Ci\u003ENA \u003C\/i\u003Eলেখা। এর কারণ \u003Ci\u003Ena.rm = TRUE\u003C\/i\u003E দেওয়া হয়নি। দিয়ে দিন:\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E\u0026nbsp;\n\n\u003Ctextarea class=\"codebox\" id=\"txt4\" onclick=\"SelectAll('txt4');\" rows=\"1\"\u003Eapply(airquality, 2, mean, na.rm = T)\u003C\/textarea\u003E\u0026nbsp;\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003Eএখানে আমরা \u003Ci\u003ETRUE \u003C\/i\u003Eকে সংক্ষেপে \u003Ci\u003ET\u003C\/i\u003E লিখেছি। এভাবে লিখলেও চলে, তবে আদর্শ কোডিং হলো না আর কি।\u0026nbsp;\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E\u0026nbsp;শুধু কি গড়? একইভাবে আমরা সব কলাম বা সারির অন্য কোনো তথ্যও বের করতে পারব। শুধু এতে ফাংশনটার নাম দিয়ে দিতে হবে। যেমন মধ্যমা বা পরিমিত ব্যবধান (standard deviation)  বের করতে হলে:\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Ctextarea class=\"codebox\" id=\"txt5\" onclick=\"SelectAll('txt5');\" rows=\"2\"\u003Eapply(airquality, 2, median, na.rm = T)\napply(airquality, 2, sd, na.rm = T)\u003C\/textarea\u003E\n\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003Eএখন, মজার ব্যাপার হলো গড় বের করতে চাইলে এতটুকুও কষ্ট করার দরকার নেই আসলে। কল্পনাও করতে পারবেন না, এর চেয়েও সহজ একটি কোডও আছে। কলামের গড় বের করতে চাইলে:\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E\u0026nbsp;\u003Ctextarea class=\"codebox\" id=\"txt6\" onclick=\"SelectAll('txt6');\" rows=\"1\"\u003EcolMeans(airquality)\u003C\/textarea\u003E\u0026nbsp;\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003Eএকইভাবে সারির গড় বের করতে চাইলে ফাংশনটা হবে \u003Ci\u003ErowMeans()\u003C\/i\u003E।\u0026nbsp;\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003Eআপাতত আর কোনো কৌশল দেখব না। তার চেয়ে একটা সমস্যার সমাধান করি। \n\nআমরা উপরে যে উদাহরণ দেখলাম, এখানে সবগুলো কলাম ছিল সংখ্যাসূচক। নিউমেরিক বা ইন্টিজার। যদি এক বা একাধিক character ভেক্টর থাকে? \n\nযেমন ধরুন আমরা যদি mpg ডেটা দিয়ে এই কাজ করতে যাই তাহলে কী হয় দেখুন:\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Ctextarea class=\"codebox\" id=\"txt7\" onclick=\"SelectAll('txt7');\" rows=\"1\"\u003EcolMeans(mpg)\u003C\/textarea\u003E\u0026nbsp;\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003Eerror দেখাবে। তাহলে সমাধান হলো সংখ্যাবাচক কলামগুলোকে আলাদা করে নিতে হবে।\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Ctextarea class=\"codebox\" id=\"txt8\" onclick=\"SelectAll('txt8');\" rows=\"1\"\u003Empg_num \u003C- mpg[, sapply(mpg, is.numeric)]\u003C\/textarea\u003E\u0026nbsp;\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003Eঅথবা ব্যবহার করতে পারেন \u003Ci\u003Etidyverse \u003C\/i\u003Eপ্যাকেজমালা থেকে \u003Ci\u003Edplyr\u003C\/i\u003E এর ফাংশনটা।\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Ctextarea class=\"codebox\" id=\"txt9\" onclick=\"SelectAll('txt9');\" rows=\"1\"\u003Empg_num \u003C- select_if(mpg, is.numeric)\u003C\/textarea\u003E\u0026nbsp;\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003Eএসব উপায়ে গড় বের করার আরেকটা সুবিধাও আছে। গ্রাফ আঁকতে চাইলেও ডেটা প্রস্তুত হয়েই আছে। যেমন ধরুন, আমরা যদি \u003Ci\u003Eairquality \u003C\/i\u003Eডেটার গড়গুলো বারপ্লটে দেখাতে চাই।\u0026nbsp;\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E\n\n  \u003Ctextarea class=\"codebox\" id=\"txt10\" onclick=\"SelectAll('txt10');\" rows=\"1\"\u003Ebarplot(aqm)\u003C\/textarea\u003E\n  \u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Ctable align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto;\"\u003E\u003Ctbody\u003E\u003Ctr\u003E\u003Ctd style=\"text-align: center;\"\u003E\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-x4s5LuHhEEI\/YPpanos0ggI\/AAAAAAAAGwc\/609152wbSFMTIgm-2zl0YtBqf0GbZGJUgCLcBGAsYHQ\/s480\/barplot_shorcut.png\" style=\"margin-left: auto; margin-right: auto;\"\u003E\u003Cimg border=\"0\" data-original-height=\"480\" data-original-width=\"480\" height=\"640\" src=\"https:\/\/1.bp.blogspot.com\/-x4s5LuHhEEI\/YPpanos0ggI\/AAAAAAAAGwc\/609152wbSFMTIgm-2zl0YtBqf0GbZGJUgCLcBGAsYHQ\/w640-h640\/barplot_shorcut.png\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/td\u003E\u003C\/tr\u003E\u003Ctr\u003E\u003Ctd class=\"tr-caption\" style=\"text-align: center;\"\u003Eডেটাফ্রেইমের কলাম ইনফরমেশন থেকে সহজ বারপ্লট\u003C\/td\u003E\u003C\/tr\u003E\u003C\/tbody\u003E\u003C\/table\u003E\u003Cbr \/\u003E\u003Cdiv\u003E☛ প্লট আঁকার কলাকৌশল দেখতে দেখুন এই\u003Ca href=\"https:\/\/www.statmania.info\/search\/label\/plot?max-results=12\"\u003E লিঙ্কটি\u003C\/a\u003E।\u0026nbsp;\u003C\/div\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E\u003Cdiv\u003Eব্যস! হ্যাপি প্রোগ্রামিং !!!\u003C\/div\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/www.statmania.info\/feeds\/2727352883062379616\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/www.statmania.info\/2021\/07\/r-functions-to-all-cols-rows.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/2727352883062379616"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/2727352883062379616"},{"rel":"alternate","type":"text/html","href":"https:\/\/www.statmania.info\/2021\/07\/r-functions-to-all-cols-rows.html","title":"R প্রোগ্রামিং: সব কলামের তথ্য বা গ্রাফ বের করুন নিমিষেই "}],"author":[{"name":{"$t":"আব্দুল্যাহ আদিল মাহমুদ"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/17462749408174996847"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"31","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEit8SKqHP7h2U7KFH71SRzI2ve5Vrmx4co6PDUV6gJtAmBpvVEYjNOhxhgOobEgy0DKuW-i1l3AMvAYEOsk1h4XDEer_Bb2FLmwEBQCfD3eJbx4HP7WzH3E_Ia6uG01yB5LJAwXSOlf0NqcsL4_l4VLWw8e394Xb8FZv40yeEQY5do8\/s220\/adil.jpg"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https:\/\/1.bp.blogspot.com\/-x4s5LuHhEEI\/YPpanos0ggI\/AAAAAAAAGwc\/609152wbSFMTIgm-2zl0YtBqf0GbZGJUgCLcBGAsYHQ\/s72-w640-h640-c\/barplot_shorcut.png","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-1811735374964048282.post-9127841257615130772"},"published":{"$t":"2020-10-01T09:35:00.006-07:00"},"updated":{"$t":"2020-10-01T09:35:45.789-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"imaginary"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Mahmud"},{"scheme":"http://www.blogger.com/atom/ns#","term":"math"}],"title":{"type":"text","$t":" কাল্পনিক সূচক আবার কী জিনিস?"},"content":{"type":"html","$t":"\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003Eচেনাজানা সংখ্যাগুলোর সূচকের নিয়ম তো আমরা জানি। $3^2$ এর অর্থ হলো $3 \\times 3$। মানে ৩ কে নিজের সাথে দুইবার গুণ করা। কিন্তু \u003Ca href=\"https:\/\/www.statmania.info\/2019\/07\/imaginary-number.html\"\u003Eকাল্পনিক সংখ্যা\u003C\/a\u003E\u0026nbsp; $i^i$ এর মানে কী? এর মানই বা কী হবে? কেন হবে? সেটার অর্থ কী?\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003Eজটিল জিনিসকে সহজ করে চিন্তা করি।\u0026nbsp; $i^i$কে \u003C\/span\u003E\u003Cspan style=\"font-weight: normal;\"\u003E$1 \\cdot i^i$ চিন্তা করি। মানে আমরা ১ থেকে \u003C\/span\u003E\u003Cspan style=\"font-weight: normal;\"\u003E$i^i$ সংখ্যাটিতে যাব। আর ভাবব সেটার মানে আসলে কী।\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u003Cbr \/\u003E\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u003Ca href=\"https:\/\/www.statmania.info\/2020\/09\/euler2.html\"\u003Eআগেই বলেছি\u003C\/a\u003E,\n ১ যেকোনো গুণের মৌলিক অংশ। ১-কে বলা হয় গুণজ অভেদ। যেভাবে যোগ-বিয়োগের \nমৌলিক অংশ শূন্য। যোগ-বিয়োগ করে কিছু না থাকলে থাকে শূন্য। গুণ (ও ভাগে) \nকাটাকাটি করে কিছু নেই মানে ১ আছে। যেমন, ৩কে ২ দিয়ে গুণ করা মানে আসলে ১কে\n ৬ দিয়ে গুণ করা। গুণ মানে আসলে ১কে ফুলিয়ে দেওয়া।\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u0026nbsp;সংখ্যাকে\n একটু ভিন্নভাবে চিন্তা করতে শুরু করি। ধরুন একটি গ্রামে ৩০০ জন শিক্ষিত \nমানুষ আছেন। এখন আপনি চাইলেই এই ৩০০ সংখ্যাকে ভিন্নভাবে চিন্তা করতে পারেন।\n শুরু করি ১ থেকে। শুরুতে গ্রামে একজন শিক্ষিত মানুষ ছিলেন। তিনি এবং \nক্রমেই তার ছাত্ররা বাকিদের শিক্ষিত করেছেন।\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003Eযেহেতু\n বৃদ্ধির (growth) কথা চলে এল, তাই কাজে আসবে আসবে সূচকীয় ফাংশন। বৃদ্ধির \nসাথে সূচকীয় ফাংশনের সম্পর্ক নিয়ে কিঞ্চিত (তবে এ লেখার জন্যে যথেষ্ট) \nআলোচনা আছে \u003Ca href=\"https:\/\/www.statmania.info\/2016\/09\/5-numbers-relation.html\"\u003Eএখানে\u003C\/a\u003E। সূচকীয় বৃদ্ধিটা মূলত ব্যবহার করা হয় অবিরাম বা প্রতি মুহূর্তেবৃদ্ধি পাওয়া জিনিসের ক্ষেত্রে।\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u003Cbr \/\u003E\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u0026nbsp;সূচকীয় ফাংশনের ব্যবহারটা দেখে নেই। সূত্রটা এ রকম: $P=P_oe^{rt}$\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003Eএখানে\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003EP =বৃদ্ধির পরে যা হবে। আমাদের উদাহরণে এটা ৩০০।\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u003Cbr \/\u003E\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E$P_o$= শুরুতে যা ছিল। এটা আমাদের উদাহরণে ১। কারণ আমরা ধরে নিয়েছি ১ জন শিক্ষিত মানুষ আছেন।\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u003Cbr \/\u003E\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003Ee = অয়লার সংখ্যা (২.৭১৮...)। \u003C\/span\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u003Ca href=\"https:\/\/www.statmania.info\/2016\/09\/5-numbers-relation.html\"\u003Eএখানে\u003C\/a\u003E এটা নিয়েও আলোচনা আছে।\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u003Cbr \/\u003E\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003Er = বৃদ্ধির হার\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u003Cbr \/\u003E\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003Et = $P_o$ থেকে $P$ হতে যতটুকু সময় লাগবে।\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003Eসূত্রে মানগুলো বসালে আমরা পাই,\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E$300=1 \\cdot e^{rt}$\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003Eবা $\\ln(300)=rt$\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003Eবোঝার\n সুবিধার্থে সময়কে এক একক (যেমন এক মাস) ধরে নিলে এই কথার অর্থ হয়: \n$\\ln(300)$ হারে ১ জন শিক্ষিত মানুষ গ্রামের সবাইকে অবিরাম পড়াতে থাকলে এক \nমাসেই ৩০০ জন মানুষ শিক্ষিত হয়ে যাবেন। $\\ln(300)$ এর মান ৫.৭০২ দেখে \nভাববেন না, কীভাবে এটা সম্ভব? মনে রাখতে হবে, তিনি একজনকে শিক্ষিত করা \nমাত্রই সেই শিক্ষিত মানুষ আরেকজনকে, তিনি আরেকজনকে, ... এভাবে শিক্ষাদান \nএগিয়ে যেতে থাকবে।\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003Eতার\n মানে, সহজ কথা হলো, ৩০০ মানে আমরা বুঝব, $\\ln(300)$ হারে অবিরাম কিছু একটা\n বৃদ্ধি পেতে থাকলে চূড়ান্ত মান হবে ৩০০। একইভাবে $\\ln(5)$ হারে একইভাবে \nবৃদ্ধি পেলে মান হবে ৫। এটাই হলো সংখ্যাকে অন্য আরেকভাবে চিন্তা করা। সবসময়\n হয়ত আপনি ৩, ৫ কে এভাবে সূচকীয় বৃদ্ধির মাধ্যমে পাবেন না। তবে এটাও কিন্তু\n সংখ্যাকে অনুভব করার আরেকটি উপায়।\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u003Cbr \/\u003E\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003Eদেখা\n যাক, এই অনুভব দিয়ে কাল্পনিক সংখ্যাকে বোঝা যায় কি না। প্রথমে ১ থেকে i তে\n যাওয়া যাক। এজন্যে আমাদেরকে ৯০ ডিগ্রি বাঁয়ে ঘুরতে হবে। মানে X অক্ষ থেকে \nঘড়ির কাঁটার উল্টো দিকে ঘুরে Y অক্ষে যেতে হবে। কারণ i এর অবস্থান ১ একক \nসমান দৈর্ঘ্যের Y অক্ষে।\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-xmWYnrTWTJ4\/X3X-8gJFQzI\/AAAAAAAAGdY\/siJoEpVTJTc7urLXBrPT1y0RsSmkL9TWwCLcBGAsYHQ\/s493\/imaginary_cycle.png\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg border=\"0\" data-original-height=\"398\" data-original-width=\"493\" height=\"516\" src=\"https:\/\/1.bp.blogspot.com\/-xmWYnrTWTJ4\/X3X-8gJFQzI\/AAAAAAAAGdY\/siJoEpVTJTc7urLXBrPT1y0RsSmkL9TWwCLcBGAsYHQ\/w640-h516\/imaginary_cycle.png\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\u003Cbr \/\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003Eতাহলে\n ১ থেকে iতে যেতে হলে আমাদেরকে $\\frac {\\pi} 2$ পরিমাণ বা ৯০ ডিগ্রি ঘুরতে \nহবে। তাহলে আমাদের বৃদ্ধির হার হবে $i \\cdot \\frac{\\pi}{2}$।\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003Eবৃদ্ধির\n ফর্মুলাটা হলো, $e^{rt}$। আমাদেরকে এই ফর্মুলা দিয়ে $i$ অবস্থানে যেতে \nহবে। তাহলে ১ থেকে ১ একক সময়ে i অবস্থানে যেতে হলে আমাদেরকে ঐ সময়ে ৯০ \nডিগ্রি ($\\frac{\\pi}{2}$ রেডিয়ান) ঘুরতে হবে। অতএব, ১ থেকে $i$ পেতে আমরা \nএই সূত্র ব্যবহার করতে পারি\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u0026nbsp;\u003Cspan style=\"font-weight: normal;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u0026nbsp;\u003C\/span\u003E\u003C\/span\u003E\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E$i=e^{i \\frac{\\pi}{2}}$\u003Cspan style=\"font-weight: normal;\"\u003E\u003Cbr \/\u003E\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003Eএকে আরেকভাবেও চিন্তা করা যায়। ১ থেকে (-১) এ যেতে আমরা ১৮০ ডিগ্রি ঘুরি। আর সেটাকে অয়লারের \u003Ca href=\"https:\/\/www.statmania.info\/2020\/09\/euler2.html\"\u003Eঅভেদ দিয়ে প্রকাশ করি\u003C\/a\u003E $e^{i \\pi}$ দিয়ে। তাহলে ১৮০ এর অর্ধেকটা মানে ৯০ ডিগ্রি বা $i$ অবস্থানে যেতে ফর্মুলাটা হবে $e^{i \\frac{\\pi}{2}}$।\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u003Cbr \/\u003E\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003Eএ তো গেল i। কিন্তু i এর পাওয়ারও তো i। সেটার কী হবে? এটা বলছে আমাদেরকে\u0026nbsp;\u003C\/span\u003E$i \\frac{\\pi}{2}$\u003Cspan style=\"font-weight: normal;\"\u003E\n হারের বদলে\u0026nbsp; $i \\frac{\\pi}{2} \\cdot i$ হারে বৃদ্ধি করতে হবে। ঠিক যেমন \n$3^4$ মানে আমাদেরকে $\\ln(3)$ হারে বৃদ্ধি করে তার আবার চারগুণ যেতে হবে। \nমানে নতুন হার হয়েছিল $\\ln(3) \\times 4$। \u003Cbr \/\u003E\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003Eতার মানে বৃদ্ধির হার হবে $i \\frac{\\pi}{2} \\cdot i = \\frac{\\pi}{2} \\cdot -1 = - \\frac{\\pi}{2}$\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u0026nbsp;কারণ, আমরা জানি, $i \\cdot i $ বা $i^2$ এর মান (-1)।\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u003Cbr \/\u003E\u003C\/span\u003E\u003C\/p\u003E\u003Cp style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u0026nbsp;আমাদের\n বৃদ্ধির হারটা বাস্তব সংখ্যা হয়ে গেল!\u0026nbsp; কিন্তু নেগেটিভ। এর মানে আসলে \nবৃদ্ধির বদলে হ্রাস ঘটবে। তার মানে, আমরা শুরু করেছিলাম ১ থেকে। আর এখন \nযাকে পাব সে হবে ১ এর চেয়ে ছোট। দেখা যাক, সেটা কী?\u0026nbsp;\u003C\/span\u003E\u003C\/p\u003E\u003Ch3 style=\"text-align: center;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E0.2078796\u003C\/span\u003E\u003C\/h3\u003E\u003Cdiv style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003Eআপনি কম্পিউটারের $i^i$ বা $e^{- \\frac{\\pi}{2}}$ যেটাই দিন, উপরের মানটাই আসবে। \n  \n  যেমন R প্রোগ্রামিং দিয়ে করলে\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u0026nbsp;\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u0026nbsp;\u003Ctextarea class=\"codebox\" id=\"txt1\" onclick=\"SelectAll('txt1');\" rows=\"2\"\u003E1i^1i\nexp(-pi\/2)\u003C\/textarea\u003E\u0026nbsp;\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u0026nbsp;\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003Eতাহলে দেখতে অদ্ভুত হলেও কাল্পনিক সংখ্যার ভিত্তি ও সূচক মিলেও পাওয়া গেল বাস্তব সংখ্যা!\u0026nbsp;\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u0026nbsp;\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u003Cbr \/\u003E\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003Ei\n এর মান যে $e^{i \\cdot \\frac{\\pi}{2}}$ সেটা আমরা অয়লারের ফর্মুলা থেকেও \nবের করতে পারি। আমরা জানি, $e^{ix}=cos(x)+isin(x)$। এখন, এখানে x এর \nজায়গায় \u003C\/span\u003E\u003Cspan style=\"font-weight: normal;\"\u003E$\\frac{\\pi}{2}$ বসালে হয়\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u0026nbsp;\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u0026nbsp;\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E$e^{i \\frac{\\pi}{2}}=cos(\\frac{\\pi}{2})+isin(\\frac{\\pi}{2})=0+i \\cdot 1=i$ \u003Cbr \/\u003E\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u0026nbsp;\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv style=\"text-align: left;\"\u003E\u003Cb\u003Eসূত্র\u0026nbsp;\u003C\/b\u003E\u003C\/div\u003E\u003Cdiv style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E১। \u003Ca href=\"http:\/\/mathcentral.uregina.ca\/QQ\/database\/QQ.09.08\/h\/randomness1.html\"\u003Eম্যাথসেন্ট্রাল\u003C\/a\u003E\u003Cbr \/\u003E\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E২।\u0026nbsp; \u003Ca href=\"https:\/\/betterexplained.com\/articles\/intuitive-understanding-of-eulers-formula\/\"\u003Eবেটার এক্সপ্লেইন্ড\u003C\/a\u003E\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u0026nbsp;\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv style=\"text-align: left;\"\u003E\u003Cb\u003Eআরও পড়ুন\u0026nbsp;\u003C\/b\u003E\u003C\/div\u003E\u003Cdiv style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u003Ca href=\"https:\/\/www.statmania.info\/2020\/09\/euler2.html\"\u003Eঅয়লার অভেদ এত মজা\u003C\/a\u003E\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv style=\"text-align: left;\"\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u003Ca href=\"https:\/\/www.statmania.info\/2016\/09\/5-numbers-relation.html\"\u003Eসবচেয়ে সুন্দর সমীকরণ\u003C\/a\u003E \u003C\/span\u003E\u003Cbr \/\u003E\u003Cspan style=\"font-weight: normal;\"\u003E\u003Cspan data-offset-key=\"dq2jl-0-0\"\u003E\u003Cspan data-text=\"true\"\u003E\u003Ca href=\"https:\/\/www.statmania.info\/2019\/07\/imaginary-number.html\"\u003Eকাল্পনিক সংখ্যা কি কাল্পনিক? \u003C\/a\u003E\u003C\/span\u003E\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/www.statmania.info\/feeds\/9127841257615130772\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/www.statmania.info\/2020\/10\/i-to-i.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/9127841257615130772"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/9127841257615130772"},{"rel":"alternate","type":"text/html","href":"https:\/\/www.statmania.info\/2020\/10\/i-to-i.html","title":" কাল্পনিক সূচক আবার কী জিনিস?"}],"author":[{"name":{"$t":"আব্দুল্যাহ আদিল মাহমুদ"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/17462749408174996847"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"31","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEit8SKqHP7h2U7KFH71SRzI2ve5Vrmx4co6PDUV6gJtAmBpvVEYjNOhxhgOobEgy0DKuW-i1l3AMvAYEOsk1h4XDEer_Bb2FLmwEBQCfD3eJbx4HP7WzH3E_Ia6uG01yB5LJAwXSOlf0NqcsL4_l4VLWw8e394Xb8FZv40yeEQY5do8\/s220\/adil.jpg"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https:\/\/1.bp.blogspot.com\/-xmWYnrTWTJ4\/X3X-8gJFQzI\/AAAAAAAAGdY\/siJoEpVTJTc7urLXBrPT1y0RsSmkL9TWwCLcBGAsYHQ\/s72-w640-h516-c\/imaginary_cycle.png","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-1811735374964048282.post-6247076263183235414"},"published":{"$t":"2020-09-27T09:23:00.004-07:00"},"updated":{"$t":"2023-04-24T10:37:06.433-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"Mahmud"},{"scheme":"http://www.blogger.com/atom/ns#","term":"math"}],"title":{"type":"text","$t":"অয়লারের ফর্মুলা এত দারুণ কেন? "},"content":{"type":"html","$t":"\u003Cp\u003E\u003Cspan data-offset-key=\"efilp-0-0\"\u003E\u003Cspan data-text=\"true\"\u003Eআমরা জানি, $e^{iπ}=-1$। কিন্তু কেন? যারা গণিতকে শুধু বইয়ের অক্ষরের মধ্যেই সীমিত মনে করেন, তাদের মতে এই সূত্রের কোন বাস্তব তাৎপর্য নেই। এটা নিছক সূত্রের মারপ্যাঁচে ঘটে গেছে। \u003C\/span\u003E\u003C\/span\u003E\u003C\/p\u003E\u003Cdiv data-contents=\"true\"\u003E\u003Cdiv class=\"bi6gxh9e\" data-block=\"true\" data-editor=\"c1uo\" data-offset-key=\"d930j-0-0\"\u003E\u003Cdiv class=\"_1mf _1mj\" data-offset-key=\"d930j-0-0\"\u003E\u003Cspan data-offset-key=\"d930j-0-0\"\u003E\u003Cspan data-text=\"true\"\u003Eঠিক যেমনটা বলেছিলেন, আঠারশ শতকের গণিতবিদ বেঞ্জামিন পিয়ার্স\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\"_1mf _1mj\" data-offset-key=\"d930j-0-0\"\u003E\u003Cspan data-offset-key=\"d930j-0-0\"\u003E\u003Cspan data-text=\"true\"\u003E\u0026nbsp;\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\u003Cblockquote\u003E\u003Cdiv class=\"_1mf _1mj\" data-offset-key=\"d930j-0-0\" style=\"text-align: left;\"\u003E\u003Cspan data-offset-key=\"d930j-0-0\"\u003E\u003Cspan data-text=\"true\"\u003Eসূত্রটা স্বাভাবিক বুদ্ধির সম্পূর্ণ বিপরীত। একে আমরা না বুঝতে পারি, আর না জানি এটা কী বোঝায়। তবে যেহেতু এর প্রমাণ আছে, তা বাধ্য হয়ে একে মানতে হচ্ছে।\u0026nbsp;\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\u003C\/blockquote\u003E\u003Cdiv class=\"_1mf _1mj\" data-offset-key=\"d930j-0-0\"\u003E\u003Cspan data-offset-key=\"d930j-0-0\"\u003E\u003Cspan data-text=\"true\"\u003E\u0026nbsp;\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\u003C\/div\u003E\u003Cdiv class=\"bi6gxh9e\" data-block=\"true\" data-editor=\"c1uo\" data-offset-key=\"2t2q2-0-0\"\u003E\u003Cdiv class=\"_1mf _1mj\" data-offset-key=\"2t2q2-0-0\"\u003E\u003Cspan data-offset-key=\"2t2q2-0-0\"\u003E\u003Cspan data-text=\"true\"\u003Eকিন্তু গণিতের সব সূত্রেরই বাস্তব ও মজার তাৎপর্য থাকে। আছে অদ্ভুতদর্শন এই সূত্রেরও। সূত্রটি গণিতের অনেকগুলো শাখাকে একত্রিত করেছে।  e এর আবির্ভাব ক্যালকুলাস থেকে, π আসে জ্যামিতি থেকে, i এর পদচারণা জটিল সংখ্যার জগতে। আর ০ ও ১ এর ব্যবহার পাটিগণিতে।\u0026nbsp;\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\"_1mf _1mj\" data-offset-key=\"2t2q2-0-0\"\u003E\u003Cspan data-offset-key=\"2t2q2-0-0\"\u003E\u003Cspan data-text=\"true\"\u003E\u0026nbsp;\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\"_1mf _1mj\" data-offset-key=\"2t2q2-0-0\"\u003E\u003Cspan data-offset-key=\"2t2q2-0-0\"\u003E\u003Cspan data-text=\"true\"\u003E\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-_lo1ZkPQm4Q\/X3C7DdLFaOI\/AAAAAAAAGdM\/x6eUIDMICqMiMF_hEzmG0939j7gWixrtQCLcBGAsYHQ\/s2048\/euler.png\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg border=\"0\" data-original-height=\"1280\" data-original-width=\"2048\" src=\"https:\/\/1.bp.blogspot.com\/-_lo1ZkPQm4Q\/X3C7DdLFaOI\/AAAAAAAAGdM\/x6eUIDMICqMiMF_hEzmG0939j7gWixrtQCLcBGAsYHQ\/s320\/euler.png\" width=\"320\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\"_1mf _1mj\" data-offset-key=\"2t2q2-0-0\"\u003E\n  \n  \u003Cp class=\"noteBoxes\"\u003E \u003Ci class=\"fa fa-lightbulb-o\" style=\"font-size:24px\"\u003E\u003C\/i\u003E\n    লিওনার্দ অয়লার ছিলেন সুইস গণিত ও পদার্থবিদ। অবদান রেখেন জ্যোতির্বিদ্যা, ভূগোল, যুক্তিবিদ্যা ও প্রকৌশলেও। গ্রাফ থিওরি ও টপোলজির সূচনা তাঁর হাত ধরেই। \n  \u003C\/p\u003E\n  \n  \u003Cspan data-offset-key=\"2t2q2-0-0\"\u003E\u003Cspan data-text=\"true\"\u003E\u0026nbsp;\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\u003C\/div\u003E\u003Cdiv class=\"bi6gxh9e\" data-block=\"true\" data-editor=\"c1uo\" data-offset-key=\"d498a-0-0\"\u003E\u003Cdiv class=\"_1mf _1mj\" data-offset-key=\"d498a-0-0\"\u003E\u003Cspan data-offset-key=\"d498a-0-0\"\u003E\u003Cspan data-text=\"true\"\u003E১-কে বলা হয় গুণজ অভেদ। যেকোনো গুণের মৌলিক অংশ ১। যেভাবে যোগ-বিয়োগের মৌলিক অংশ শূন্য। যোগ-বিয়োগ করে কিছু না থাকলে থাকে শূন্য। গুণ (ও ভাগে) কাটাকাটি করে  কিছু নেই মানে ১ আছে। যেমন, ৩কে ২ দিয়ে গুণ করা মানে আসলে ১কে ৬ দিয়ে গুণ করা। গুণ মানে আসলে ১কে ফুলিয়ে দেওয়া।\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\"_1mf _1mj\" data-offset-key=\"d498a-0-0\"\u003E\u003Cspan data-offset-key=\"d498a-0-0\"\u003E\u003Cspan data-text=\"true\"\u003E\u0026nbsp;\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\u003C\/div\u003E\u003Cdiv class=\"bi6gxh9e\" data-block=\"true\" data-editor=\"c1uo\" data-offset-key=\"aqblt-0-0\"\u003E\u003Cdiv class=\"_1mf _1mj\" data-offset-key=\"aqblt-0-0\"\u003E\u003Cspan data-offset-key=\"aqblt-0-0\"\u003E\u003Cspan data-text=\"true\"\u003Eঅন্য গুণের মতোই ধরুন আমরা ১ থেকে শুরু করছি। তারপর একে \u003C\/span\u003E\u003C\/span\u003E\u003Cspan data-offset-key=\"aqblt-0-0\"\u003E\u003Cspan data-text=\"true\"\u003E\u003Cspan data-offset-key=\"efilp-0-0\"\u003E\u003Cspan data-text=\"true\"\u003E$e^{iπ}$\u003C\/span\u003E\u003C\/span\u003E দিয়ে গুণ দিচ্ছি।\u0026nbsp;\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\"_1mf _1mj\" data-offset-key=\"aqblt-0-0\"\u003E\u003Cspan data-offset-key=\"aqblt-0-0\"\u003E\u003Cspan data-text=\"true\"\u003E\u0026nbsp;\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\u003C\/div\u003E\u003Cdiv class=\"bi6gxh9e\" data-block=\"true\" data-editor=\"c1uo\" data-offset-key=\"kl8n-0-0\"\u003E\u003Cdiv class=\"_1mf _1mj\" data-offset-key=\"kl8n-0-0\"\u003E\u003Cspan data-offset-key=\"kl8n-0-0\"\u003E\u003Cspan data-text=\"true\"\u003Ee দ্বারা বোঝায় সূচকীয় বৃদ্ধি। এক কথায় এর অর্থ হলো ১কে কোনো একটি হারে নির্দিষ্ট সময় ধরে বাড়াতে থাকা। সূচকীয় বৃদ্ধি আসলে জ্যামিতিক বৃদ্ধিরই অন্য একটি রূপ, যেখানে নির্দিষ্ট সময় পরপর বৃদ্ধির বদলে বৃদ্ধি ঘটে প্রতি মুহূর্তে।\u0026nbsp;\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\"_1mf _1mj\" data-offset-key=\"kl8n-0-0\"\u003E\u003Cspan data-offset-key=\"kl8n-0-0\"\u003E\u003Cspan data-text=\"true\"\u003E\u0026nbsp;\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\u003C\/div\u003E\u003Cdiv class=\"bi6gxh9e\" data-block=\"true\" data-editor=\"c1uo\" data-offset-key=\"ciht5-0-0\"\u003E\u003Cdiv class=\"_1mf _1mj\" data-offset-key=\"ciht5-0-0\"\u003E\u003Cspan data-offset-key=\"ciht5-0-0\"\u003E\u003Cspan data-text=\"true\"\u003Eএখানে e এর পাওয়ার হিসেবে আছে i, যা কাল্পনিক সংখ্যার প্রতীক। নামে কাল্পনিক হলেও সংখ্যাটা বাস্তব সংখ্যার চেয়ে কোনো অংশে কম বাস্তব নয়। এখানে e এর উপর i দিয়ে বোঝাচ্ছে আমাদের সূচকীয় বৃদ্ধিটা রৈখিক হবে না। হবে বৃত্তাকার। একটি বৃত্তকে বেয়ে ঘড়ির কাঁটার উল্টো দিকে ঘুরে আসার মতো। উল্টো দিকে কেন? কারণ ত্রিকোণমিতিকে বৃত্তাকার চলনকে এভাবেই সংজ্ঞায়িত করা হয়েছে।\u0026nbsp;\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\"_1mf _1mj\" data-offset-key=\"ciht5-0-0\"\u003E\u003Cspan data-offset-key=\"ciht5-0-0\"\u003E\u003Cspan data-text=\"true\"\u003E\u0026nbsp;\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\u003C\/div\u003E\u003Cdiv class=\"bi6gxh9e\" data-block=\"true\" data-editor=\"c1uo\" data-offset-key=\"85do7-0-0\"\u003E\u003Cdiv class=\"_1mf _1mj\" data-offset-key=\"85do7-0-0\"\u003E\u003Cspan data-offset-key=\"85do7-0-0\"\u003E\u003Cspan data-text=\"true\"\u003Eএখন কতটুকু চলব? সেটা বলে দিচ্ছে পাই (π)। মানে আমরা পাই রেডিয়ান বা ১৮০ ডিগ্রি ঘুরব। \u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\u003C\/div\u003E\u003Cdiv class=\"bi6gxh9e\" data-block=\"true\" data-editor=\"c1uo\" data-offset-key=\"dq2jl-0-0\"\u003E\u003Cdiv class=\"_1mf _1mj\" data-offset-key=\"dq2jl-0-0\"\u003E\u003Cspan data-offset-key=\"dq2jl-0-0\"\u003E\u003Cspan data-text=\"true\"\u003Eএখন এটা জানা কথা সংখ্যারেখায় ১ আর (-১) থাকে ১৮০ ডিগ্রি উল্টো দিকে। কত দারুণ ফর্মুলাটা!\u0026nbsp;\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\"_1mf _1mj\" data-offset-key=\"dq2jl-0-0\"\u003E\u003Cspan data-offset-key=\"dq2jl-0-0\"\u003E\u003Cspan data-text=\"true\"\u003E\u0026nbsp;\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-qwWasnsHx9s\/X3C6klJjMwI\/AAAAAAAAGdE\/TOKccT32fHw3j-2o9WQaUuqaxMIcYfoxACLcBGAsYHQ\/s337\/number_line.png\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg border=\"0\" data-original-height=\"168\" data-original-width=\"337\" height=\"200\" src=\"https:\/\/1.bp.blogspot.com\/-qwWasnsHx9s\/X3C6klJjMwI\/AAAAAAAAGdE\/TOKccT32fHw3j-2o9WQaUuqaxMIcYfoxACLcBGAsYHQ\/w400-h200\/number_line.png\" title=\"সংখ্যারেখা\" width=\"400\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\u003Cbr \/\u003E\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\"_1mf _1mj\" data-offset-key=\"dq2jl-0-0\"\u003E\u003Cspan data-offset-key=\"dq2jl-0-0\"\u003E\u003Cspan data-text=\"true\"\u003Eএ কারণেই আমরা ১ থেকে শুরু করে (-১) এ গিয়ে থেমেছি।\u0026nbsp;\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\"_1mf _1mj\" data-offset-key=\"dq2jl-0-0\"\u003E\u003Cspan data-offset-key=\"dq2jl-0-0\"\u003E\u003Cspan data-text=\"true\"\u003E\u0026nbsp;\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\"_1mf _1mj\" data-offset-key=\"dq2jl-0-0\"\u003E\u003Cb\u003E\u003Cspan data-offset-key=\"dq2jl-0-0\"\u003E\u003Cspan data-text=\"true\"\u003Eআরও পড়ুন\u0026nbsp;\u003C\/span\u003E\u003C\/span\u003E\u003C\/b\u003E\u003C\/div\u003E\u003Cdiv class=\"_1mf _1mj\" data-offset-key=\"dq2jl-0-0\"\u003E\u003Ca href=\" https:\/\/www.statmania.info\/2016\/09\/5-numbers-relation.html\"\u003Eগণিতের সবচেয়ে সুন্দর সমীকরণ \u003C\/a\u003E\u003Cspan data-offset-key=\"dq2jl-0-0\"\u003E\u003Cspan data-text=\"true\"\u003E\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\"_1mf _1mj\" data-offset-key=\"dq2jl-0-0\"\u003E\u003Cspan data-offset-key=\"dq2jl-0-0\"\u003E\u003Cspan data-text=\"true\"\u003E\u003Ca href=\"https:\/\/www.statmania.info\/2019\/07\/imaginary-number.html\"\u003Eকাল্পনিক সংখ্যা কি কাল্পনিক? \u003C\/a\u003E\u003Cbr \/\u003E\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\u003C\/div\u003E\u003C\/div\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/www.statmania.info\/feeds\/6247076263183235414\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/www.statmania.info\/2020\/09\/euler2.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/6247076263183235414"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/6247076263183235414"},{"rel":"alternate","type":"text/html","href":"https:\/\/www.statmania.info\/2020\/09\/euler2.html","title":"অয়লারের ফর্মুলা এত দারুণ কেন? "}],"author":[{"name":{"$t":"আব্দুল্যাহ আদিল মাহমুদ"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/17462749408174996847"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"31","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEit8SKqHP7h2U7KFH71SRzI2ve5Vrmx4co6PDUV6gJtAmBpvVEYjNOhxhgOobEgy0DKuW-i1l3AMvAYEOsk1h4XDEer_Bb2FLmwEBQCfD3eJbx4HP7WzH3E_Ia6uG01yB5LJAwXSOlf0NqcsL4_l4VLWw8e394Xb8FZv40yeEQY5do8\/s220\/adil.jpg"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https:\/\/1.bp.blogspot.com\/-_lo1ZkPQm4Q\/X3C7DdLFaOI\/AAAAAAAAGdM\/x6eUIDMICqMiMF_hEzmG0939j7gWixrtQCLcBGAsYHQ\/s72-c\/euler.png","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-1811735374964048282.post-1152449076872936146"},"published":{"$t":"2020-09-08T20:45:00.003-07:00"},"updated":{"$t":"2020-09-08T20:45:59.836-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"git"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Linux"},{"scheme":"http://www.blogger.com/atom/ns#","term":"R"},{"scheme":"http://www.blogger.com/atom/ns#","term":"tools"}],"title":{"type":"text","$t":"কোড লিখে স্লাইড বানাই "},"content":{"type":"html","$t":"\u003Cp\u003Eঅনলাইন ক্লাসের জন্য প্রতিদিন প্রেজেন্টেশন স্লাইড বানাতে হয়। MS পাওয়ারপয়েন্ট স্লাইডকে বিদায় জানিয়েছি এক বছর আগে। এখন স্লাইড বানাই কোড লিখে লিখে। ব্যবহার করি এক গাদা ল্যাংগুয়েজ। অন্তত সাতখানা। R, Markdown, Javascript, HTML, CSS, Tex (Latex) ও bash। প্রতিটা ল্যাংগুয়েজই অসাধারণ। মিলেমিশে টিমওয়ার্ক করে আমার মনের মতো স্লাইড বানিয়ে দেয়।\u003C\/p\u003E\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-_C6mhTXlFlI\/X1hPZX1h3fI\/AAAAAAAAGb4\/FVOeO4PCpA4u-Rvw6rFtfBE_JFcpIPSAQCLcBGAsYHQ\/s887\/slide_code.jpg\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg border=\"0\" data-original-height=\"577\" data-original-width=\"887\" height=\"416\" src=\"https:\/\/1.bp.blogspot.com\/-_C6mhTXlFlI\/X1hPZX1h3fI\/AAAAAAAAGb4\/FVOeO4PCpA4u-Rvw6rFtfBE_JFcpIPSAQCLcBGAsYHQ\/w640-h416\/slide_code.jpg\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\u003Cbr \/\u003E\u003Cp\u003E\u003C\/p\u003E\u003Cdiv dir=\"auto\"\u003E\u003Cdiv class=\"ecm0bbzt hv4rvrfc ihqw7lf3 dati1w0a\" data-ad-comet-preview=\"message\" data-ad-preview=\"message\" id=\"jsc_c_rn\"\u003E\u003Cdiv class=\"j83agx80 cbu4d94t ew0dbk1b irj2b8pg\"\u003E\u003Cdiv class=\"qzhwtbm6 knvmm38d\"\u003E\u003Cspan class=\"oi732d6d ik7dh3pa d2edcug0 hpfvmrgz qv66sw1b c1et5uql a8c37x1j muag1w35 ew0dbk1b jq4qci2q a3bd9o3v knj5qynh oo9gr5id hzawbc8m\" dir=\"auto\"\u003E\u003Cdiv class=\"kvgmc6g5 cxmmr5t8 oygrvhab hcukyx3x c1et5uql ii04i59q\"\u003E\u003Cdiv dir=\"auto\" style=\"text-align: start;\"\u003Eতা কোনটা কেন ইউজ করি?\u003C\/div\u003E\u003Cdiv dir=\"auto\" style=\"text-align: start;\"\u003ER: বহুমুখী কাজের জন্য। প্রথমত Rstudio এর মাধ্যমে স্লাইড ফাইলগুলো এর মধ্যেই তৈরি করি। তবে R এর মূল অবদান আরও বড়। আমার স্লাইডে মাঝেমধ্যেই গ্রাফ বা টেবিল ও সেগুলোর হিসাব-নিকাশ থাকে। এই কাজগুলো R অটো করে দেয়। প্লট বা গ্রাফ এঁকে সেটাকে পিসিতে সেভ করে তারপর ইনসার্ট করার কোনো ঝামেলা নেই। ডেটা আর কোড লিখে দেব। গ্রাফ বা রেজাল্ট অটো চলে আসবে। ইডিট করা অনেক flexible। কোনো ভুল হলে নতুন করে গ্রাফ বানিয়ে আবারও ইনসার্ট করা- সেই দিন এখন অতীত।\u003C\/div\u003E\u003Cdiv dir=\"auto\" style=\"text-align: start;\"\u003E\u0026nbsp;\u003C\/div\u003E\u003Cdiv dir=\"auto\" style=\"text-align: start;\"\u003EMarkdown মূলত R এ তৈরি ফাইলকে সুন্দর করে পাবলিশ করে দেয়।\u003C\/div\u003E\u003Cdiv dir=\"auto\" style=\"text-align: start;\"\u003Eএটাকে MS Word এর বিকল্প ভাবতে পারেন। Rstudio তে .Rmd ফাইলগুলোই R এর মধ্যে Markdown implement করিয়ে দেয়।\u003C\/div\u003E\u003Cdiv dir=\"auto\" style=\"text-align: start;\"\u003Eসাথে revealjs প্লাগইন ফাইলটাকে সুন্দর স্লাইড আকারে পাবলিশ করতে হেল্প করে।  revealjs আবার Javascript দিয়ে করা। js হলো Javascript এর abbreviation।\u003C\/div\u003E\u003Cdiv dir=\"auto\" style=\"text-align: start;\"\u003E\u0026nbsp;\u003C\/div\u003E\u003Cdiv dir=\"auto\" style=\"text-align: start;\"\u003ECSS: স্লাইডের ওভারঅল থিম নির্ভর করে সরল এই ল্যাঙ্গুয়েজটার ওপর। styles.css নামে ফাইলটা প্রোজেক্ট ফোল্ডারে রেখে দিলেই কেল্লা ফতে!\u003C\/div\u003E\u003Cdiv dir=\"auto\" style=\"text-align: start;\"\u003E\u0026nbsp;\u003C\/div\u003E\u003Cdiv dir=\"auto\" style=\"text-align: start;\"\u003Eআর HTML ছাড়া তো css ও js ইমপ্লিমেন্ট করা যাবে না। তাই তাকেও রাখতে হলো। বিশেষ করে দুই বা বহু কলামের কন্টেন্ট জাভাস্ক্রিপ্ট দিয়ে বানাতে গেলে HTMLও লাগে। আবার ক্লিক করলে দেখা যাবে এমন js script এর জন্য দরকার html।\u003C\/div\u003E\u003Cdiv dir=\"auto\" style=\"text-align: start;\"\u003E\u0026nbsp;\u003C\/div\u003E\u003Cdiv dir=\"auto\" style=\"text-align: start;\"\u003EJavascript এর ব্যবহার অলরেডি বলাই হয়ে গেছে। revealjs প্লাগইন দিয়ে Rmd ফাইলকে স্লাইড আকারে পাবলিশ করতে শুরুতেই js লাগছে। R এর মধ্যে এটা আছে revealjs package হিসেবে। আরও বেশ কিছু কাজে দারুণ পাওয়ারপুল js ভাষাটা ইউজ করা হয়, যার কিছু উদাহরণ অলরেডি বলেছি।\u003C\/div\u003E\u003Cdiv dir=\"auto\" style=\"text-align: start;\"\u003E\u0026nbsp;\u003C\/div\u003E\u003Cdiv dir=\"auto\" style=\"text-align: start;\"\u003ETex (উচ্চারণ টেক) এর প্রশংসা তো করে শেষ করাই যাবে না। গণিতের যত কঠিন সমীকরণই দেবেন Tex সেটা পাব্লিশ করে দেবেই। Tex এর জনপ্রিয় implementation লেটেক (Latex) ইউজ করি এ কাজের জন্য।\u003C\/div\u003E\u003Cdiv dir=\"auto\" style=\"text-align: start;\"\u003E\u0026nbsp;\u003C\/div\u003E\u003Cdiv dir=\"auto\" style=\"text-align: start;\"\u003Ebash মূলত একটি লিনাক্স শেল বা কমান্ড লাইন। এটা ইউজ করি মূলত Git ও Github এর জন্য। কাজ করা ফাইলগুলো নিয়মিত ট্র্যাক করি এর মাধ্যমে। একে বলা হয় ভার্সন কন্ট্রোল। এর প্রয়োজন ২\/১ কথায় বলা সম্ভব নয়।\u003C\/div\u003E\u003Cdiv dir=\"auto\" style=\"text-align: start;\"\u003E\u0026nbsp;\u003C\/div\u003E\u003Cdiv dir=\"auto\" style=\"text-align: start;\"\u003Eএতগুলো ল্যাংগুয়েজ ভালোই টিমওয়ার্ক করে যাচ্ছে। কোড করে কাজ করায় মজাই আলাদা \u003Cspan class=\"q9uorilb tbxw36s4 knj5qynh kvgmc6g5 ditlmg2l oygrvhab nvdbi5me fgm26odu gl3lb2sf hhz5lgdu\"\u003E\u003Cimg alt=\"❤\" height=\"16\" src=\"https:\/\/static.xx.fbcdn.net\/images\/emoji.php\/v9\/t6c\/1\/16\/2764.png\" width=\"16\" \/\u003E\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv dir=\"auto\" style=\"text-align: start;\"\u003Eকোড দেখতে চাইলে \u003Ca href=\"https:\/\/github.com\/mahmudstat\/lectures\" target=\"_blank\"\u003Eএখানটায় ঘুরে আসুন\u003C\/a\u003E। \u003Cspan\u003E\u003C\/span\u003E\u003C\/div\u003E\u003C\/div\u003E\u003C\/span\u003E\u003C\/div\u003E\u003C\/div\u003E\u003C\/div\u003E\u003C\/div\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/www.statmania.info\/feeds\/1152449076872936146\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/www.statmania.info\/2020\/09\/slide-code.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/1152449076872936146"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/1152449076872936146"},{"rel":"alternate","type":"text/html","href":"https:\/\/www.statmania.info\/2020\/09\/slide-code.html","title":"কোড লিখে স্লাইড বানাই "}],"author":[{"name":{"$t":"আব্দুল্যাহ আদিল মাহমুদ"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/17462749408174996847"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"31","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEit8SKqHP7h2U7KFH71SRzI2ve5Vrmx4co6PDUV6gJtAmBpvVEYjNOhxhgOobEgy0DKuW-i1l3AMvAYEOsk1h4XDEer_Bb2FLmwEBQCfD3eJbx4HP7WzH3E_Ia6uG01yB5LJAwXSOlf0NqcsL4_l4VLWw8e394Xb8FZv40yeEQY5do8\/s220\/adil.jpg"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https:\/\/1.bp.blogspot.com\/-_C6mhTXlFlI\/X1hPZX1h3fI\/AAAAAAAAGb4\/FVOeO4PCpA4u-Rvw6rFtfBE_JFcpIPSAQCLcBGAsYHQ\/s72-w640-h416-c\/slide_code.jpg","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-1811735374964048282.post-1547121783321755885"},"published":{"$t":"2020-08-21T12:11:00.004-07:00"},"updated":{"$t":"2020-08-22T00:08:02.213-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"Linux"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Mahmud"},{"scheme":"http://www.blogger.com/atom/ns#","term":"text-mining"}],"title":{"type":"text","$t":"লিনাক্স: sed কমান্ড এত দারুণ! "},"content":{"type":"html","$t":"\u003Cp\u003E\u0026nbsp;টেক্সট অ্যানালাইসিস আমার খুব প্রিয় জিনিস। প্রিয় ওএস লিনাক্সে আসার পর কাজটা আরও অনেক সহজ হয়ে গেছে। কীভাবে হলো একটু দেখাই যাক।\u0026nbsp;\u003C\/p\u003E\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\u003Cp\u003E\u003C\/p\u003E\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-FWcrDny5g3g\/X0AZ0bRN5OI\/AAAAAAAAGbM\/nzydhR3bskcD7cSCBP-XK6EA5ZgHYDUOgCLcBGAsYHQ\/s518\/sed.png\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg border=\"0\" data-original-height=\"292\" data-original-width=\"518\" height=\"361\" src=\"https:\/\/1.bp.blogspot.com\/-FWcrDny5g3g\/X0AZ0bRN5OI\/AAAAAAAAGbM\/nzydhR3bskcD7cSCBP-XK6EA5ZgHYDUOgCLcBGAsYHQ\/w640-h361\/sed.png\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\u0026nbsp;\u003Cp\u003E\u003C\/p\u003E\u003Cp\u003Eধরুন আমাদের কাছে কিছু টেক্সট  আছে। এর কিছু শব্দকে অন্য কিছু দিয়ে পাল্টে দিতে চাই।\u0026nbsp;\u003C\/p\u003E\u003Cp\u003E\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt1\" onclick=\"SelectAll('txt1');\" rows=\"1\"\u003Eecho hello | sed s\/h\/t\/\u003C\/textarea\u003E\n  \u003Cbr \/\u003E \n  \u003Cbr \/\u003E এই কোড hello শব্দের h-কে t দিয়ে বদলে দেবে। শুরুতেই s দিয়ে বলা হচ্ছে, বদলে দাও। ইংরেজিতে substitution আরকি।  \u003Cbr \/\u003E \n  \u003Cbr \/\u003E\n  এখানে আমরা যে টেক্সট নিয়ে কাজ করব সেটাকে আগে echo দিয়ে প্রিন্ট করে নিয়েছি। কিন্তু বাস্তবে আমাদেরকে ফাইন্ড ও রিপ্লেসের এই কাজখানি করতে হবে ফাইল দিয়ে। সে কাজটাও পানির মতোই সোজা। ধরুন আমাদের কাছে file নামে একটি ফাইল আছে। চাইলে আপনি এক্সটেনশনসহ ফাইল নিতে পারেন। যেমন file.txt। তাতে কোনোই অসুবিধা হবে না। ধরা যাক file ফাইলটিতে এই তথ্যগুলো আছে।  \u003Cbr \/\u003E \u003Cbr \/\u003E\n  \u003Ctextarea class=\"codebox\" id=\"txt2\" onclick=\"SelectAll('txt2');\" rows=\"3\"\u003EThis is line one\nThis is line two\nThis is line three\u003C\/textarea\u003E\n \u003Cbr \/\u003E \u003Cbr \/\u003E\n  এবার ধরুন, আমরা এখান থেকে প্রথম line শব্দটাকে statement শব্দ দিয়ে বদলে দিতে চাই। \u003Cbr \/\u003E \u003Cbr \/\u003E\n  \u003Ctextarea class=\"codebox\" id=\"txt3\" onclick=\"SelectAll('txt3');\" rows=\"1\"\u003Esed s\/line\/statement\/ file\u003C\/textarea\u003E\n\u003Cbr \/\u003E \u003Cbr \/\u003E\n  তবে ফাইলের সবগুলো কাঙ্ক্ষিত শব্দকে চেঞ্জ করা নিশ্চিত করতে চাইলে \"g\" অংশ যোগ করতে হবে। মানে এ রকম: \u003Cbr \/\u003E \u003Cbr \/\u003E\n    \u003Ctextarea class=\"codebox\" id=\"txt4\" onclick=\"SelectAll('txt4');\" rows=\"1\"\u003Esed s\/line\/statement\/g file\u003C\/textarea\u003E\n  \u003Cbr \/\u003E \u003Cbr \/\u003Eএটা কেন দরকার দেখতে হলে নীচের দুই লাইন কোড রান করে দেখুন। দেখবেন দুটো থেকে দুরকম আউটপুট মিলবে।\u0026nbsp;\u0026nbsp;\u003C\/p\u003E\u003Cp\u003E\u003Cbr \/\u003E\u003C\/p\u003E\u003Cp\u003E\u0026nbsp;\u003Ctextarea class=\"codebox\" id=\"txt5\" onclick=\"SelectAll('txt5');\" rows=\"1\"\u003Esed s\/line\/statement\/\n    sed s\/line\/statement\/g\/ file\n  \u003C\/textarea\u003E\u0026nbsp;\u003C\/p\u003E\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\u003Cdiv class=\"separator\" style=\"clear: both;\"\u003E\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-YKQuc2_4wzs\/X0AWYOwC_qI\/AAAAAAAAGbA\/KGIDpEHrdrIXsT5QR5KgRPS2jW_e1e-2ACLcBGAsYHQ\/s510\/linux_sed.png\" style=\"display: block; margin-left: 1em; margin-right: 1em; padding: 1em 0px; text-align: none;\"\u003E\u003Cimg alt=\"\" border=\"0\" data-original-height=\"139\" data-original-width=\"510\" src=\"https:\/\/1.bp.blogspot.com\/-YKQuc2_4wzs\/X0AWYOwC_qI\/AAAAAAAAGbA\/KGIDpEHrdrIXsT5QR5KgRPS2jW_e1e-2ACLcBGAsYHQ\/s400\/linux_sed.png\" width=\"400\" \/\u003E \u003C\/a\u003Eতবে এখানে যে আউটপুট প্রিন্ট হচ্ছে সেটা কিন্তু এখানেই শেষ। সেভ কিন্তু হচ্ছে না। শেভ করতে হলে \"\u0026gt;\" বা \"\u0026gt;\u0026gt;\" দিয়ে সেভ করে নিতে হবে। মনে রাখতে হবে \u0026gt; দিলে কিন্তু ফাইলে আগের কিছু থাকবে না।\u0026nbsp;\u003C\/div\u003E\u003Cdiv class=\"separator\" style=\"clear: both;\"\u003E\u0026nbsp;\u003C\/div\u003E\u003Cp\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt6\" onclick=\"SelectAll('txt6');\" rows=\"1\"\u003Esed s\/line\/statement\/g file \u003Efile\u003C\/textarea\u003E\u0026nbsp;\u003C\/p\u003E\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\u003Cp\u003Eএ তো গেল শুধু একটা একটা অংশ রিপ্লেস করতে চাইলে। আপনি চাইলে অনেকগুলো অংশকে অনেকগুলো আলাদা আলাদা শব্দ দিয়েও রিপ্লেস করতে পারেন। এক্ষেত্রে প্রতিটি অংশের আগে \"-e\" দিতে হবে।\u0026nbsp;\u003C\/p\u003E\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt7\" onclick=\"SelectAll('txt7');\" rows=\"1\"\u003Eecho hello | sed -e s\/l\/L\/g -e s\/h\/H\/\u003C\/textarea\u003E\n\u003Cp\u003E\u003C\/p\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/www.statmania.info\/feeds\/1547121783321755885\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/www.statmania.info\/2020\/08\/sed.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/1547121783321755885"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/1547121783321755885"},{"rel":"alternate","type":"text/html","href":"https:\/\/www.statmania.info\/2020\/08\/sed.html","title":"লিনাক্স: sed কমান্ড এত দারুণ! "}],"author":[{"name":{"$t":"আব্দুল্যাহ আদিল মাহমুদ"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/17462749408174996847"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"31","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEit8SKqHP7h2U7KFH71SRzI2ve5Vrmx4co6PDUV6gJtAmBpvVEYjNOhxhgOobEgy0DKuW-i1l3AMvAYEOsk1h4XDEer_Bb2FLmwEBQCfD3eJbx4HP7WzH3E_Ia6uG01yB5LJAwXSOlf0NqcsL4_l4VLWw8e394Xb8FZv40yeEQY5do8\/s220\/adil.jpg"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https:\/\/1.bp.blogspot.com\/-FWcrDny5g3g\/X0AZ0bRN5OI\/AAAAAAAAGbM\/nzydhR3bskcD7cSCBP-XK6EA5ZgHYDUOgCLcBGAsYHQ\/s72-w640-h361-c\/sed.png","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-1811735374964048282.post-7865792892059330005"},"published":{"$t":"2020-08-12T01:44:00.001-07:00"},"updated":{"$t":"2023-04-24T10:23:14.369-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"ggplot2"},{"scheme":"http://www.blogger.com/atom/ns#","term":"GIS"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Mahmud"},{"scheme":"http://www.blogger.com/atom/ns#","term":"map"},{"scheme":"http://www.blogger.com/atom/ns#","term":"plot"},{"scheme":"http://www.blogger.com/atom/ns#","term":"R"},{"scheme":"http://www.blogger.com/atom/ns#","term":"visualization"}],"title":{"type":"text","$t":"R প্রোগ্রামিং: ম্যাপ আঁকুন আরও সহজে "},"content":{"type":"html","$t":"\u003Cdiv dir=\"ltr\" style=\"text-align: left;\" trbidi=\"on\"\u003E\nদিন দিন \u003Ca href=\"https:\/\/www.statmania.info\/2018\/09\/how-to-learn-R.html\" target=\"_blank\"\u003ER\u003C\/a\u003E-এ ম্যাপ আঁকা সহজ থেকে সহজতর হচ্ছে। একটু চেষ্টা করেই কোভিড-১৯ মহামারীর চিত্র ওয়ার্ল্ড ও বাংলাদেশের ম্যাপে দেখিয়ে ফেলতে পেরেছি। কীভাবে এত কঠিন কাজ সহজ হলো সেটা বলতেই আজকের লেখা।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctable align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\"\u003E\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd style=\"text-align: center;\"\u003E\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-IuYH5Csn8d0\/Xo7BzoNsnGI\/AAAAAAAAF0I\/Z1kiqJ2Rwc0zgA8da8qGWAHFPxJn3cZAACLcBGAsYHQ\/s1600\/corona_bd2.png\" imageanchor=\"1\" style=\"margin-left: auto; margin-right: auto;\"\u003E\u003Cimg border=\"0\" data-original-height=\"1361\" data-original-width=\"1600\" height=\"544\" src=\"https:\/\/1.bp.blogspot.com\/-IuYH5Csn8d0\/Xo7BzoNsnGI\/AAAAAAAAF0I\/Z1kiqJ2Rwc0zgA8da8qGWAHFPxJn3cZAACLcBGAsYHQ\/s640\/corona_bd2.png\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd class=\"tr-caption\" style=\"text-align: center;\"\u003Eবাংলাদেশের কোভিড-১৯ মহামারীর প্রকোপ\u0026nbsp;\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\u003C\/table\u003E\nআগে অবশ্যই দরকারি প্যাকেজগুলো লোড করে নিতে হবে।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt1\" onclick=\"SelectAll('txt1');\" rows=\"2\"\u003Elibrary(rgdal)\nlibrary(tidyverse)\u003C\/textarea\u003E\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএখন প্রশ্ন হলো ম্যাপ আঁকার ডেটা পাব কোথায়? একটুও চিন্তা করবেন না। এসব ডেটা অনেক মহামানুষ কষ্ট করে বানিয়ে রেখেছেন। আপনাকে শুধু খুঁজে নিয়ে ব্যবহার করতে হবে এই যা। ম্যাপ আঁকার জন্য প্রয়োজনীয় শেইপফাইল পাবেন \u003Ca href=\"https:\/\/gadm.org\/download_country_v3.html\" target=\"_blank\"\u003Eএখানে\u003C\/a\u003E।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nডাউনলোড করে নিয়ে আনজিপ করে নিন। এবার কী করবেন সেটা \u003Ca href=\"https:\/\/www.statmania.info\/2018\/07\/bd-map-literacy-rate-with-r.html\" target=\"_blank\"\u003Eএই লেখায় আগেই বলা হয়েছে\u003C\/a\u003E।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nলেখাটির\u0026nbsp;\u003Ci\u003Eplot(zilla, col=\"green\")\u003C\/i\u003E কোড পর্যন্ত\u0026nbsp;অন্তত অনুশীলন করে আসুন।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএসেছেন তো? এবার সামনে যাওয়া যাক।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nআমরা এবারে ম্যাপ আঁকব \u003Ci\u003Eggplot2\u003C\/i\u003E দিয়ে। \u003Ci\u003Eggplot2\u003C\/i\u003E সব অবজেক্টকে ডেটাফ্রেইম হিসেবে দেখতে চায়। তাই শেইপফাইলকে ডেটাফ্রেইম বানিয়ে নিতে হবে। কিন্তু সেটা এমনভাবে করতে হবে যেন ম্যাপের সবকিছু আবার উলটপালট হয়ে না যায়। সেজন্য ব্যবহার করতে হবে \u003Ci\u003Efortify\u003C\/i\u003E ফাংশন।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt2\" onclick=\"SelectAll('txt2');\" rows=\"1\"\u003Ezilla_gg \u003C- fortify(zilla)\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএবার আরেকটি বড় কাজ বাকি। করোনার তথ্য এই ডেটাফ্রেইমে নিয়ে আসতে হবে। সেটা আমরা করব। তার আগে আপনি একটু দেখে নিন zilla_gg ডেটাফ্রেইমে কী আছে। এই কোড রান করতে হলে Rstudio লাগবেই আপনার।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt3\" onclick=\"SelectAll('txt3');\" rows=\"1\"\u003EView(zilla_gg)\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nকলামগুলো দেখে নিন একবার। ও আচ্ছা, তার আগে শুধু zilla অবজেক্টটাও দেখে নিন। খেয়াল করলে দেখবেন NAME_2 কলামে দেশের জেলাগুলোর নাম আছে। তবে fortify করার পর এতকিছু নেই। ম্যাপের তথ্য এখানে long, lat নামে দ্রাঘিমা ও অক্ষাংশ হিসেবে সংরক্ষিত আছে। zilla_ggতে id নামে একটি কলাম আছে। একটু মিলিয়ে দেখলে বুঝবেন এটা আসলে ৬৪ জেলার জন্য ইউনিক আইডি। শুরু ০ থেকে আর শেষ ৬৩-তে। এখন এই আইডির বিপরীতে আমাদের করোনার তথ্য বসিয়ে নিলেই আমাদের ডেটা প্রস্তুত।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nকাজটি একটু বিরক্তিকর। সেটাকে সহজ করার জন্যে আমি সবসময় একটি csv ফাইল রেডি রাখি। আপনি চাইলে \u003Ca href=\"https:\/\/drive.google.com\/file\/d\/1C6dHtnHM3zsr-VsvIHESLQxQff9KkjRW\/view?usp=sharing\" target=\"_blank\"\u003Eএখান থেকে ফাইলটি ডাউনলোড\u003C\/a\u003E করে নিতে পারেন। \u003Ci\u003Ecorona\u003C\/i\u003E নামে এখানে একটি কলাম আছে। এই কলামটি আপডেট তথ্য দিয়ে পূর্ণ করা আপনার দায়িত্ব। এখন কাজ হলো এই তথ্যকে \u003Ci\u003Ezilla_gg\u003C\/i\u003E ডেটাফ্রেইমে নিয়ে আসা।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nসেটা করার জন্যে আমরা ব্যবহার করব \u003Ci\u003Edplyr\u003C\/i\u003E প্যাকেজের \u003Ci\u003Eleft_join\u003C\/i\u003E ফাংশন। এই ফাংশনগুলো কীভাবে কাজ করে দেখতে হলে \u003Ca href=\"https:\/\/www.statmania.info\/2019\/04\/join.html\" target=\"_blank\"\u003Eএখানটায় ঢুঁ মেরে\u003C\/a\u003E আসুন। ও, তার আগে csv ফাইলটা পড়ে নিই। আরেকটি কাজ করা লাগবে। zilla_gg এর id কলামটা character হয়ে আছে। কিন্তু আমাদের csv ফাইলে id কলাম হলো numeric। তাই zilla_gg কে numeric করে নিতে হবে।\u003Cbr \/\u003E\nতারপর জয়েন করে ফেলি।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt4\" onclick=\"SelectAll('txt4');\" rows=\"3\"\u003Ecorona_bd \u003C- read_csv(\"geo\/corona.csv\")\nzilla_gg \u003C- zilla_gg %\u003E% mutate(id = as.numeric(id))\nzilla_gg \u003C-  zilla_gg %\u003E% left_join(corona_bd, by = \"id\")\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএবার শুধুই আঁকা।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt5\" onclick=\"SelectAll('txt5');\" rows=\"4\"\u003Eggplot(zilla_gg) + aes(long, lat, group=group, fill = corona)+\n  geom_polygon() +\n  geom_path(color= \"white\")+\n  coord_equal()\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nআপাতত আমরা এটা পেলাম।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\n\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-D-MIPh3GB54\/Xo7T8bQN2rI\/AAAAAAAAF0U\/lws3KvuexVsaWN0_v0zp00ix_lpvmt8mACLcBGAsYHQ\/s1600\/corona1.png\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg border=\"0\" data-original-height=\"1361\" data-original-width=\"1600\" height=\"544\" src=\"https:\/\/1.bp.blogspot.com\/-D-MIPh3GB54\/Xo7T8bQN2rI\/AAAAAAAAF0U\/lws3KvuexVsaWN0_v0zp00ix_lpvmt8mACLcBGAsYHQ\/s640\/corona1.png\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\nকিন্তু নিজের ইচ্ছেমতো রং দেওয়া না গেলে কি আর মনে শান্তি পাওয়া যায়? এজন্যে \u003Ca href=\"https:\/\/www.statmania.info\/2019\/04\/r-ggplot2-rcolorbrewer.html\" target=\"_blank\"\u003ERColorBrewer প্যাকেজ\u003C\/a\u003E দারুণ উপকার করে। তবে এখানে আমরা সেটা ছাড়াই রং করে ফেলব। আগের কোডের পরে \"+\" চিহ্ন দিয়ে এটা যুক্ত করে দিন।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt6\" onclick=\"SelectAll('txt6');\" rows=\"8\"\u003E  scale_fill_gradient(\"Confirmed Cases\",\n                      low = \"yellow\",\n                      high = \"red\",\n                      space = \"Lab\",\n                      na.value = \"green\",\n                      guide = \"colorbar\",\n                      aesthetics = \"fill\"\n  )\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএবারে কিন্তু আমরা উপরে দেখানো ম্যাপই পেয়ে গেলাম। এখানে যেহেতু আমরা মৃত্যু দেখাচ্ছি, তাই লাল থেকে হলুদ রংয়ের দিকে গিয়েছি। অন্য ক্ষেত্রে অন্য কালার কম্বিনেশন ব্যবহার করাই ভাল। আরও বেশি কালার কম্বিনেশনের জন্যে আমি এই \u003Ca href=\"https:\/\/www.w3schools.com\/colors\/colors_picker.asp\" target=\"_blank\"\u003Eলিংকটা\u003C\/a\u003E কাজে লাগাই। আপনিও লাগাতে পারেন।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cb\u003Eআরও পড়ুন:\u0026nbsp;\u0026nbsp;\u003C\/b\u003E\u003Cbr \/\u003E\n☛\u0026nbsp;\u003Ca href=\"https:\/\/www.statmania.info\/2018\/07\/r-colors.html\" target=\"_blank\"\u003ER প্রোগ্রামিং: প্লট কালারিং এর ৯ উপায়\u003C\/a\u003E\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nমূল কাজ তো শেষ। এখন আরও কিছু ফাইন-টিউনিং করে নিলে মন্দ কী!\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt7\" onclick=\"SelectAll('txt7');\" rows=\"3\"\u003E  labs(title = \"Covid-19 Cases in Bangladesh\", \n       subtitle = \"source: iedcr.gov.bd, as of 08 April, 2020\",\n       caption = \"copyright: mahmud\")\u003C\/textarea\u003E\n\u003C\/div\u003E\n"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/www.statmania.info\/feeds\/7865792892059330005\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/www.statmania.info\/2020\/04\/ggplot2-map.html#comment-form","title":"1 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/7865792892059330005"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/7865792892059330005"},{"rel":"alternate","type":"text/html","href":"https:\/\/www.statmania.info\/2020\/04\/ggplot2-map.html","title":"R প্রোগ্রামিং: ম্যাপ আঁকুন আরও সহজে "}],"author":[{"name":{"$t":"আব্দুল্যাহ আদিল মাহমুদ"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/17462749408174996847"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"31","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEit8SKqHP7h2U7KFH71SRzI2ve5Vrmx4co6PDUV6gJtAmBpvVEYjNOhxhgOobEgy0DKuW-i1l3AMvAYEOsk1h4XDEer_Bb2FLmwEBQCfD3eJbx4HP7WzH3E_Ia6uG01yB5LJAwXSOlf0NqcsL4_l4VLWw8e394Xb8FZv40yeEQY5do8\/s220\/adil.jpg"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https:\/\/1.bp.blogspot.com\/-IuYH5Csn8d0\/Xo7BzoNsnGI\/AAAAAAAAF0I\/Z1kiqJ2Rwc0zgA8da8qGWAHFPxJn3cZAACLcBGAsYHQ\/s72-c\/corona_bd2.png","height":"72","width":"72"},"thr$total":{"$t":"1"}},{"id":{"$t":"tag:blogger.com,1999:blog-1811735374964048282.post-6039952443005294747"},"published":{"$t":"2020-05-17T00:34:00.001-07:00"},"updated":{"$t":"2020-05-17T00:42:22.716-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"Linux"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Mahmud"}],"title":{"type":"text","$t":"কমান্ড লাইনে হিসাব-নিকাশ "},"content":{"type":"html","$t":"\u003Cdiv dir=\"ltr\" style=\"text-align: left;\" trbidi=\"on\"\u003E\nলিনাক্সের গুণের কথা তো বলে শেষ করা যায় না। আজ দেখব কীভাবে খুব সহজ হিসাব-নিকাশ করবেন। ভণিতা না করে দেখে ফেলি।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\n\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-sPxELtLNx8o\/XsDmnDeFisI\/AAAAAAAAGOE\/w0EQ3m7fmBggUUrhhPfAoV21nf-uTMvWQCLcBGAsYHQ\/s1600\/estimation.png\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg border=\"0\" data-original-height=\"289\" data-original-width=\"548\" height=\"336\" src=\"https:\/\/1.bp.blogspot.com\/-sPxELtLNx8o\/XsDmnDeFisI\/AAAAAAAAGOE\/w0EQ3m7fmBggUUrhhPfAoV21nf-uTMvWQCLcBGAsYHQ\/s640\/estimation.png\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nআগে চলুন ১০ আর ১১ যোগ করি।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt1\" onclick=\"SelectAll('txt1');\" rows=\"1\"\u003Eexpr 10 + 11\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএকইভাবে বিয়োগ\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt2\" onclick=\"SelectAll('txt2');\" rows=\"1\"\u003Eexpr 100 - 11\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএখানে expr আসলে expression বা গাণিতিক পদ বোঝায়।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nতবে গুণ সোজাসুজি কাজ করবে না। এই কোডটা দিয়েই দেখুন না।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt3\" onclick=\"SelectAll('txt3');\" rows=\"1\"\u003Eexpr 9 * 60\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nদিতে হবে এভাবে\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt4\" onclick=\"SelectAll('txt4');\" rows=\"1\"\u003Eexpr 9 \\* 60 \u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nতবে ভাগ কাজ করবে ফরোয়ার্ড স্ল্যাশ দিয়েই।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt5\" onclick=\"SelectAll('txt5');\" rows=\"2\"\u003Eexpr 100 \/ 10\nexpr 100 \/ 12\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nতবে পরের এক্সপ্রেশনটার আউটপুট দেখলে খেয়াল করবেন, ফল এসেছে পূর্ণ সংখ্যায়। আসলে সহজ এই টুলটি ভগ্নাংশ নিয়ে কাজ করতে পারে না।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nসেজন্যে আপনার লাগবে bc টুল। কমান্ড লাইনে হিসাব-নিকাশের জন্যে এটা অন্যতম সেরা একটি টুল। দারুণ ব্যাপার হলো এখানে আপনি ভগ্নাংশ নিয়েও কাজ করতে পারেন। এখানে echo দিয়ে expression লিখে পাইপ অপারেটর দিয়ে তাকে bc টুলের মধ্যে দিয়ে দিতে হবে পাইপ অপারেটর (\"|\") দিয়ে।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt6\" onclick=\"SelectAll('txt6');\" rows=\"1\"\u003Eecho \"10.11 + 2.12\" | bc\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cb\u003Eআরও পড়ুন\u003C\/b\u003E\u003Cbr \/\u003E\n\u003Ca href=\"https:\/\/www.statmania.info\/2019\/06\/linux-intro.html\" target=\"_blank\"\u003Eলিনাক্স কমান্ড লাইন: হাতে খড়ি\u003C\/a\u003E\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nচাইলে কত ঘর পর্যন্ত দশমিক চান সেটা বলে দিতে পারবেন। এজন্য scale বলে দিতে হবে।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt7\" onclick=\"SelectAll('txt7');\" rows=\"2\"\u003Eecho \"20\/6; scale=4\" | bc\necho \"scale = 5; 20\/6\" | bc\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nবুঝতেই পারছেন, scale এর পজিশন যেকোনো জায়গায় হতে পারে।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nbc নিয়ে বিস্তারিত গল্প অন্য সময় করব ইনশাআল্লাহ।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএকটি সংখ্যার উৎপাদক বের করাও কমান্ড লাইনে এক শব্দের খেল।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt8\" onclick=\"SelectAll('txt8');\" rows=\"2\"\u003Efactor 6\nfactor 2121\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nমনে করুন, এক সারি নাম্বার চাই আপনার। তাও জেনারেট করতে পারবেন সহজে। ধরুন আমরা ৫ টি সংখ্যা জেনারেট করব যারা শুরু হবে ১০১ দিয়ে।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt9\" onclick=\"SelectAll('txt9');\" rows=\"1\"\u003Ejot 5 101\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nআরেকটু কাজের কাজ করি। ধরুন আমাদের May1, May2, May3 ইত্যাদি এক সারি আউটপুট লাগবে। বারবার এটা না লিখে এটা আমরা jot দিয়ে বানিয়ে নিতে পারি। হ্যাঁ, এখানে আমাদের bash loop কমান্ড লাগবে।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nআরও পড়ুন\u003Cbr \/\u003E\n\u003Ca href=\"https:\/\/www.statmania.info\/2020\/05\/linux-loop-easy.html\" target=\"_blank\"\u003Eলিনাক্স কমান্ড লাইন: সহজ লুপ\u003C\/a\u003E\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt10\" onclick=\"SelectAll('txt10');\" rows=\"1\"\u003Efor i in `jot 31 1`; do echo May $i; done\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nচাইলে এই আউটপুট একটি ফাইলেও \u003Ca href=\"https:\/\/www.statmania.info\/2019\/06\/linux-intro.html\" target=\"_blank\"\u003Eসেভও করে নিতে\u003C\/a\u003E পারেন। \n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt11\" onclick=\"SelectAll('txt11');\" rows=\"1\"\u003Efor i in `jot 31 1`; do echo May $i; done \u003E may.txt\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nসবশেষে jot কমান্ডের আরেকটা কারিশমা দেখব। পরিসংখ্যানে আমাদেরকে প্রায়ই দৈব সংখ্যা (random number) নিয়ে কাজ করতে হয়। দেখুন jot দিয়ে কত সহজে কাজটা করা যায়। নীচের কোডে প্রথম ১০ দিয়ে বলছি আমরা ১০টি সংখ্যা চাই। পরের দুটি সংখ্যা দিয়ে রেঞ্জ বোঝানো হলো। অর্থাৎ, সংখ্যাগুলো হবে ১০ ও ১০০ এর মধ্যে।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt12\" onclick=\"SelectAll('txt12');\" rows=\"2\"\u003Ejot -r 10 10 100\njot -r 10 10 100\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএকই কোড দুইবার দিলাম দেখানো জন্যে যে দুইবার আসবে আলাদা আলাদা আউটপুট। র‍্যান্ডম নাম্বার বলে কথা!\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএখন যা করব সেটা নিছক মজা পাওয়ার জন্যে। আপনি চাইলে পালাতে পারেন এখান থেকে। অবশ্য শিখি তো মজা পাবার জন্যেই।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nআমরা দেখব ১ থেকে ৫ পর্যন্ত সংখ্যাগুলো থেকে দৈবভাবে ১,০০০ টা সংখ্যা নিলে কয়টা সংখ্যা কয়বার আসে।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt13\" onclick=\"SelectAll('txt13');\" rows=\"1\"\u003Ejot -r 1000 1 5 | sort -n | uniq -c\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nসূত্র\u003Cbr \/\u003E\n১। \u003Ca href=\"https:\/\/www.networkworld.com\/article\/3268964\/how-to-do-math-on-the-linux-command-line.html\" target=\"_blank\"\u003Eনেটওয়ার্ক ওয়ার্ল্ড\u003C\/a\u003E\u003C\/div\u003E\n"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/www.statmania.info\/feeds\/6039952443005294747\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/www.statmania.info\/2020\/05\/bash-calc.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/6039952443005294747"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/6039952443005294747"},{"rel":"alternate","type":"text/html","href":"https:\/\/www.statmania.info\/2020\/05\/bash-calc.html","title":"কমান্ড লাইনে হিসাব-নিকাশ "}],"author":[{"name":{"$t":"আব্দুল্যাহ আদিল মাহমুদ"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/17462749408174996847"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"31","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEit8SKqHP7h2U7KFH71SRzI2ve5Vrmx4co6PDUV6gJtAmBpvVEYjNOhxhgOobEgy0DKuW-i1l3AMvAYEOsk1h4XDEer_Bb2FLmwEBQCfD3eJbx4HP7WzH3E_Ia6uG01yB5LJAwXSOlf0NqcsL4_l4VLWw8e394Xb8FZv40yeEQY5do8\/s220\/adil.jpg"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https:\/\/1.bp.blogspot.com\/-sPxELtLNx8o\/XsDmnDeFisI\/AAAAAAAAGOE\/w0EQ3m7fmBggUUrhhPfAoV21nf-uTMvWQCLcBGAsYHQ\/s72-c\/estimation.png","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-1811735374964048282.post-5486833241674812266"},"published":{"$t":"2020-05-05T08:41:00.000-07:00"},"updated":{"$t":"2020-05-05T09:47:05.273-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"Linux"},{"scheme":"http://www.blogger.com/atom/ns#","term":"loop"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Mahmud"}],"title":{"type":"text","$t":"লিনাক্স কমান্ড লাইন: সহজ লুপ "},"content":{"type":"html","$t":"\u003Cdiv dir=\"ltr\" style=\"text-align: left;\" trbidi=\"on\"\u003E\nডেটা সায়েন্সে লিনাক্স কমান্ড লাইন কীভাবে কাজে লাগতে পারে সেটা আগেও বলেছি। আর লিনাক্স টার্মিনাল থেকে কম্পিউটার অপারেট করা অনেক সহজ।\u003Cbr \/\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\n\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-js5ujKri1PQ\/XrGIHn2FG2I\/AAAAAAAAGMY\/GWUeWRkCZRcGVGmu6dWsklAb1HVpahgkACLcBGAsYHQ\/s1600\/1024.jpg\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg border=\"0\" data-original-height=\"600\" data-original-width=\"800\" height=\"300\" src=\"https:\/\/1.bp.blogspot.com\/-js5ujKri1PQ\/XrGIHn2FG2I\/AAAAAAAAGMY\/GWUeWRkCZRcGVGmu6dWsklAb1HVpahgkACLcBGAsYHQ\/s400\/1024.jpg\" width=\"400\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Cb\u003Eআজকের কমান্ড\u003C\/b\u003E: লুপ\u003Cbr \/\u003E\n\u003Cb\u003Eউদ্দেশ্য: \u003C\/b\u003Eএকই রকম কাজের জন্য বারবার ক্লিক না করে এক লাইনে করা।\u0026nbsp;তবে কাজটি আমরা করব প্রচলিত do এর বদলে খুবই সহজ কোড দিয়ে। দেখে হাস্যকর মনে হবে। লুপ এত সহজ!\u003Cbr \/\u003E\n\u003Cb\u003Eউদাহরণ\u003C\/b\u003E\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt1\" onclick=\"SelectAll('txt1');\" rows=\"1\"\u003Etouch file_{1..5}.txt\n\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএই কোডখানি file_1.txt থেকে শুরু করে file_5.txt পর্যন্ত ৫টি ফাইল তৈরি করবে। আপনি চাইলে ls কমান্ড ব্যবহার করে কারেন্ট ওয়ার্কিং ডিরেক্টরিতে ফাইলগুলো দেখে নিতে পারেন।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএই ফাইলগুলো ডিলিট করা আরও সহজ।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt2\" onclick=\"SelectAll('txt2');\" rows=\"1\"\u003Erm file*.txt\n\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nবুঝতেই পারছেন, এটা দেখাতে গিয়ে আমরা লুপের আরও একটি উদাহরণও দেখে ফেললাম।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cb\u003Eবাস্তব উদাহরণ\u003C\/b\u003E\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ca href=\"http:\/\/www.ummahrc.com\/\" target=\"_blank\"\u003Eএই সাইটে উমার সিরিজের\u003C\/a\u003E ভিডিওগুলো আপলোড করা আছে। ভিডিও ফাইলগুলোর নাম দারুণভাবে দেওয়া হয়েছে। ep1, ep2, ... ep29 ইত্যাদি। যেমন প্রথম ভিডিওটির লিঙ্ক \u003Ci\u003Ehttp:\/\/www.ummahrc.com\/omar-series-bangla\/ep1.mp4\u003C\/i\u003E\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nআপনি পণ্ডশ্রম করতে ভালবাসলে একটি একটি করে ভিডিওগুলো ডাউনলোড করতে পারেন। তবে আমি তা করতে রাজি নই। তাই আমি ডাউনলোড করব এভাবে-\u003Cbr \/\u003E\n\u003Cdiv\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\n\u003Cdiv\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt3\" onclick=\"SelectAll('txt3');\" rows=\"1\"\u003Ewget http:\/\/www.ummahrc.com\/omar-series-bangla\/ep{1..29}.mp4\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nতবে এখানে আমরা do loop দেখিনি। শিরোনামেই যে বলেছি, \"সহজ লুপ!\" অবশ্য do এর অনেক কাজই আজকের দেখা কমান্ড দিয়েই করা সম্ভব।\u0026nbsp;\u003C\/div\u003E\n\u003C\/div\u003E\n"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/www.statmania.info\/feeds\/5486833241674812266\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/www.statmania.info\/2020\/05\/linux-loop-easy.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/5486833241674812266"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/5486833241674812266"},{"rel":"alternate","type":"text/html","href":"https:\/\/www.statmania.info\/2020\/05\/linux-loop-easy.html","title":"লিনাক্স কমান্ড লাইন: সহজ লুপ "}],"author":[{"name":{"$t":"আব্দুল্যাহ আদিল মাহমুদ"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/17462749408174996847"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"31","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEit8SKqHP7h2U7KFH71SRzI2ve5Vrmx4co6PDUV6gJtAmBpvVEYjNOhxhgOobEgy0DKuW-i1l3AMvAYEOsk1h4XDEer_Bb2FLmwEBQCfD3eJbx4HP7WzH3E_Ia6uG01yB5LJAwXSOlf0NqcsL4_l4VLWw8e394Xb8FZv40yeEQY5do8\/s220\/adil.jpg"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https:\/\/1.bp.blogspot.com\/-js5ujKri1PQ\/XrGIHn2FG2I\/AAAAAAAAGMY\/GWUeWRkCZRcGVGmu6dWsklAb1HVpahgkACLcBGAsYHQ\/s72-c\/1024.jpg","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-1811735374964048282.post-7643216462844607845"},"published":{"$t":"2020-04-24T07:22:00.000-07:00"},"updated":{"$t":"2020-07-12T23:34:01.638-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"bioinfo"},{"scheme":"http://www.blogger.com/atom/ns#","term":"comparison"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Mahmud"}],"title":{"type":"text","$t":"ডিএনএ ও আরএনএ এর পার্থক্য "},"content":{"type":"html","$t":"\u003Cdiv dir=\"ltr\" style=\"text-align: left;\" trbidi=\"on\"\u003E\nডিএনএ ও আরএনএ দুটোতেই জিনগত তথ্য সংরক্ষিত থাকে। তবে দুটোর মধ্যে পার্থক্য আছে। চলুন দেখেই নিই।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctable align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\"\u003E\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd style=\"text-align: center;\"\u003E\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-yVrhu9HfRUs\/XqLxG3PWvTI\/AAAAAAAAF3I\/_JHiygrNoD0CN1QLnsUvop_T5kQaUk_sgCLcBGAsYHQ\/s1600\/dna_rna3.png\" imageanchor=\"1\" style=\"margin-left: auto; margin-right: auto;\"\u003E\u003Cimg border=\"0\" data-original-height=\"512\" data-original-width=\"768\" height=\"425\" src=\"https:\/\/1.bp.blogspot.com\/-yVrhu9HfRUs\/XqLxG3PWvTI\/AAAAAAAAF3I\/_JHiygrNoD0CN1QLnsUvop_T5kQaUk_sgCLcBGAsYHQ\/s640\/dna_rna3.png\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd class=\"tr-caption\" style=\"text-align: center;\"\u003Eডিএনএ বনাম আরএনএ। \u003Ca href=\"https:\/\/www.thoughtco.com\/thmb\/YtZNHuQ8w0mVut52czgf_6PzR3w=\/768x0\/filters:no_upscale():max_bytes(150000):strip_icc():format(webp)\/dna-versus-rna-608191_sketch_Final-54acdd8f8af04c73817e8811c32905fa.png\" target=\"_blank\"\u003Eসূত্র\u003C\/a\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\u003C\/table\u003E\n১। ডিএনএ তে থাকে ডিওক্সিরাইবোজ শুগার। আর আরএনএ-এর শুগারের নাম রাইবোজ। ডিওক্সিরাইবোজ ও রাইবোজের একমাত্র পার্থক্য হলো রাইবোজে একটি বাড়তি -OH গ্রুপ থাকে। যেখানে বলয়ের দ্বিতীয় কার্বনের সাথে -H সংযুক্ত থাকে।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n২। ডিএনএ একটি দুই সুতার অণু। অন্য দিকে আরএনএ এর সুতা একটিই।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n৩। ডিএনএ ক্ষারীয় পরিবেশে স্থিতিশীল, কিন্তু আরএনএ অস্থিতিশীল।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n৪। মানবদেহে\u0026nbsp;ডিএনএ ও আরএনএ এর কাজ আলাদা। জিনগত বৈশিষ্ট্য সংরক্ষণ ও স্থানান্তরের কাজ করে ডিএনএ। আর আরএনএ সরাসরি অ্যামিনো এসিডের জন্য সঙ্কেত তৈরি করে। এছাড়াও এটি প্রোটিন তৈরির জন্যে ডিএনএ ও রাইবোজোমের মধ্যে বার্তাবাহক হিসেবে কাজ করে।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n৫। ডিএনএ ও আরএনএ এর ক্ষার জোড়গুলোও একটু আলাদা। ডিএনএ এর ক্ষারগুলো হলো অ্যাডেনিন, থাইমিন, গুয়ানিন ও সাইটোসিন। অন্য দিকে আরএনএ ব্যবহার করে অ্যাডেনিন, ইউরাসিল, সাইটোসিন ও ইউরাসিল। থাইমিনের সাথে ইউরাসিলের পার্থক্য হলো এর বলয়ে একটি মিথাইল গ্রুপ কম থাকে।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nসূত্র\u003Cbr \/\u003E\n* \u003Ca href=\"https:\/\/www.thoughtco.com\/dna-versus-rna-608191\" target=\"_blank\"\u003Eথটকো ডট কম\u0026nbsp;\u003C\/a\u003E\u003C\/div\u003E\n"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/www.statmania.info\/feeds\/7643216462844607845\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/www.statmania.info\/2020\/04\/dna-rna.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/7643216462844607845"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/7643216462844607845"},{"rel":"alternate","type":"text/html","href":"https:\/\/www.statmania.info\/2020\/04\/dna-rna.html","title":"ডিএনএ ও আরএনএ এর পার্থক্য "}],"author":[{"name":{"$t":"আব্দুল্যাহ আদিল মাহমুদ"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/17462749408174996847"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"31","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEit8SKqHP7h2U7KFH71SRzI2ve5Vrmx4co6PDUV6gJtAmBpvVEYjNOhxhgOobEgy0DKuW-i1l3AMvAYEOsk1h4XDEer_Bb2FLmwEBQCfD3eJbx4HP7WzH3E_Ia6uG01yB5LJAwXSOlf0NqcsL4_l4VLWw8e394Xb8FZv40yeEQY5do8\/s220\/adil.jpg"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https:\/\/1.bp.blogspot.com\/-yVrhu9HfRUs\/XqLxG3PWvTI\/AAAAAAAAF3I\/_JHiygrNoD0CN1QLnsUvop_T5kQaUk_sgCLcBGAsYHQ\/s72-c\/dna_rna3.png","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-1811735374964048282.post-8802633740059627346"},"published":{"$t":"2020-04-21T10:37:00.002-07:00"},"updated":{"$t":"2020-04-21T10:38:57.159-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"survey"}],"title":{"type":"text","$t":"জরিপ: আপনি বিশ্বকে কতটা জানেন?"},"content":{"type":"html","$t":"\u003Cdiv dir=\"ltr\" style=\"text-align: left;\" trbidi=\"on\"\u003E\nআপনি বিশ্বকে কতটা জানেন?\nপ্রশ্নগুলোতে এক নজরে বিশ্বের সবচেয়ে গুরুত্বপূর্ণ কিছু বিষয় উঠে এসেছে, যা প্রত্যেক সচেতন নাগরিকের জানা উচিত। উত্তর না জানলে অনুমান করুন।\n\n\u003Ciframe frameborder=\"0\" height=\"5500\" marginheight=\"0\" marginwidth=\"0\" src=\"https:\/\/docs.google.com\/forms\/d\/e\/1FAIpQLSdbVLRYmPSmR9olj79hcOOIVwiUEsoTTUJdypTy7YrmoD6iFw\/viewform?embedded=true\" width=\"620\"\u003ELoading…\u003C\/iframe\u003E\n\u003C\/div\u003E\n"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/www.statmania.info\/feeds\/8802633740059627346\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/www.statmania.info\/2020\/04\/world-quizz.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/8802633740059627346"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/8802633740059627346"},{"rel":"alternate","type":"text/html","href":"https:\/\/www.statmania.info\/2020\/04\/world-quizz.html","title":"জরিপ: আপনি বিশ্বকে কতটা জানেন?"}],"author":[{"name":{"$t":"আব্দুল্যাহ আদিল মাহমুদ"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/17462749408174996847"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"31","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEit8SKqHP7h2U7KFH71SRzI2ve5Vrmx4co6PDUV6gJtAmBpvVEYjNOhxhgOobEgy0DKuW-i1l3AMvAYEOsk1h4XDEer_Bb2FLmwEBQCfD3eJbx4HP7WzH3E_Ia6uG01yB5LJAwXSOlf0NqcsL4_l4VLWw8e394Xb8FZv40yeEQY5do8\/s220\/adil.jpg"}}],"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-1811735374964048282.post-5926773580818971093"},"published":{"$t":"2019-10-11T12:22:00.000-07:00"},"updated":{"$t":"2023-04-24T10:23:14.368-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"ggplot2"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Mahmud"},{"scheme":"http://www.blogger.com/atom/ns#","term":"plot"},{"scheme":"http://www.blogger.com/atom/ns#","term":"R"},{"scheme":"http://www.blogger.com/atom/ns#","term":"tidyverse"},{"scheme":"http://www.blogger.com/atom/ns#","term":"visualization"}],"title":{"type":"text","$t":"বিক্ষেপ চিত্র এত দারুণও হতে পারে! "},"content":{"type":"html","$t":"\u003Cdiv dir=\"ltr\" style=\"text-align: left;\" trbidi=\"on\"\u003E\nবিক্ষেপ চিত্র (scatter plot) এমনিতেই দারুণ। নতুন করে একে আবার দারুণ বলার আসলে হয়ত খুব বেশি কারণ নেই। কিন্তু আবার আছে।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nবিক্ষেপ চিত্রের মাধ্যমে আমরা দুটো সংখ্যাবাচক চলকের (quantitative variable) মধ্যে সম্পর্ক বুঝতে পারি। যেমন নীচের বিক্ষেপ চিত্রটাই দেখুন, এখানে টেস্ট ক্রিকেট খেলা দলগুলোর জেতা ও হারা ম্যাচের সংখ্যা দেখানো আছে।\u003Cbr \/\u003E\n\u003Ctable align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\"\u003E\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd style=\"text-align: center;\"\u003E\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-NdvGYI_2sEg\/XaDFgHCJUOI\/AAAAAAAAFSk\/8wfjpYSMin81JLAr_UBOh9dyX5J-5e_vACLcBGAsYHQ\/s1600\/scatter1.png\" imageanchor=\"1\" style=\"margin-left: auto; margin-right: auto;\"\u003E\u003Cimg border=\"0\" data-original-height=\"1463\" data-original-width=\"1600\" height=\"584\" src=\"https:\/\/1.bp.blogspot.com\/-NdvGYI_2sEg\/XaDFgHCJUOI\/AAAAAAAAFSk\/8wfjpYSMin81JLAr_UBOh9dyX5J-5e_vACLcBGAsYHQ\/s640\/scatter1.png\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd class=\"tr-caption\" style=\"text-align: center;\"\u003Eটেস্ট-খেলুড়ে দলগুলোর হারা-জেতা ম্যাচের সংখ্যা\u0026nbsp;\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\u003C\/table\u003E\nদেখে বোঝা যাচ্ছে জেতা ম্যাচের সঙ্গে একটি ধনাত্মক সম্পর্ক আছে। যারা বেশি\u0026nbsp;ম্যাচ জিতেছে, তারা আবার হেরেছেও বেশি। তাহলে এর মানে দাঁড়ালটা কী? আসলে এর মানে হলো, প্রায় সব দলের ক্ষেত্রেই হারা ও জেতা ম্যাচের সংখ্যা সমান। তবে দুটি দলের ক্ষেত্রে জেতা ম্যাচ মাত্র কয়েকটি, কিন্তু হারা ম্যাচের সংখ্যা প্রায় ১০০। এরা নিঃসন্দেহে অধারবাহিক দল। আরও রাখটাক করে বললে, খারাপ দল।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nকিন্তু এই বিক্ষেপ চিত্র থেকে চাইল আরও বেশি তথ্য পাওয়া যায়। সেটা খুবই দারুণ। তবে আগে এই প্লটের কোডটাই দেখেই নেই।\u003Cbr \/\u003E\n\u003Cdiv\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\n\u003Cdiv\u003E\nএই প্লটের কোড খুব সাধারণ। ও আচ্ছা। আমরা আজ বিক্ষেপ চিত্র আঁকব ggplot2 দিয়ে। তাই এটা লোড করতে ভুলবেন না যেন! তবে আগে ডেটা রেডি করে নেই। ডেটা পেয়েছি \u003Ca href=\"https:\/\/en.wikipedia.org\/wiki\/List_of_Test_cricket_records#Team_records\"\u003Eউইকপিডিয়ার এই পেইজ \u003C\/a\u003Eথেকে। ডেটাফ্রেইম বানাতে আমরা ব্যবহার করেছি \u003Ci\u003Etibble\u003C\/i\u003E প্যাকেজ। চাইলে আপনি \u003Ci\u003Etibble\u003C\/i\u003E এর জায়গায় \u003Ci\u003Edata.frame\u003C\/i\u003E ফাংশনও ব্যবহার করতে পারেন। \n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt1\" onclick=\"SelectAll('txt1');\" rows=\"4\"\u003ETeam \u003C- c(\"AFG\", \"AUS\", \"BAN\", \"ENG\", \"IND\", \"IRE\", \"NZ\", \"PAK\", \"SA\", \"SL\", \"WI\", \"ZIM\")\nLost \u003C- c(1, 224, 86, 302, 165, 3, 172, 128, 144, 108, 195, 68)\nWon \u003C- c(2, 388, 13, 368, 152, 0, 98, 136, 164, 91, 173, 12) \ntest_win \u003C- tibble(Team, Won, Lost)\n\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএবার আমরা আঁকার কাজটা করে ফেলি। মূল কোড কিন্তু প্রথম দুই লাইনই। পরের দুই লাইন দিয়ে লিজেন্ড সরিয়েছি, আর টাইটেল যোগ করেছি।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u0026nbsp;  \n\n\u003Ctextarea class=\"codebox\" id=\"txt2\" onclick=\"SelectAll('txt2');\" rows=\"5\"\u003Elibrary(ggplot2)\ntest_win %\u003E% ggplot(aes(Won, Lost, color=Team)) +\n  geom_point(size=4, pch= 19)+\n  theme(legend.position = \"none\")+\n  labs(title = \"Win-Loss Ratio of Test-Playing Team\") \n\u003C\/textarea\u003E\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএখানে %\u0026gt;% কে বলা হয় পাইপ অপারেটর। চাইল আপনি test_win %\u0026gt;% ggplot অংশটুকুকে এভাবেও লিখতে পারেন।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt3\" onclick=\"SelectAll('txt3');\" rows=\"1\"\u003Eggplot(data=test_win, aes(...) ...) \n\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএবার একই চিত্রটিকে আমরা ভিন্ন দৃষ্টিকোণ থেকে দেখি।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\n\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-xYHGPePRukE\/XaDNeMzlqXI\/AAAAAAAAFS8\/bxi8vfDEiaQ_5GEkm0SoEgBLG7dlu06vACLcBGAsYHQ\/s1600\/scatter2.png\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg border=\"0\" data-original-height=\"1463\" data-original-width=\"1600\" height=\"584\" src=\"https:\/\/1.bp.blogspot.com\/-xYHGPePRukE\/XaDNeMzlqXI\/AAAAAAAAFS8\/bxi8vfDEiaQ_5GEkm0SoEgBLG7dlu06vACLcBGAsYHQ\/s640\/scatter2.png\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\n\u003C\/div\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: left;\"\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: left;\"\u003E\nএবার আমরা খুব সহজে নির্দিষ্ট দেশের হারা ও জেতা ম্যাচের তুলনা করতে পারছি। যেমন জিম্বাবুয়ের পরিসংখ্যান দেখুন। জেতা ম্যাচের সংখ্যা গুটিকয়েক। কিন্তু হারা ম্যাচের সংখ্যা সে তুলনায় অনেক বেশি। প্রায় ৭০। বাংলাদেশের অবস্থা তো আরও খারাপ। পাকিস্তান ও দক্ষিণ আফ্রিকার হারা ও জেতার ম্যাচের সংখ্যা প্রায় সমান। তবে ভারতের কিন্তু জেতার চেয়ে হারার রেকর্ড বেশি।\u0026nbsp;\u003C\/div\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: left;\"\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: left;\"\u003E\nবলা চলে, অস্ট্রেলিয়ার রেকর্ড সবচেয়ে ভালো। জিতেছে প্রায় ৪০০ ম্যাচে, কিন্তু হেরেছে মাত্র ২২০ এর মতো ম্যাচ (প্লট দেখে বলছি। ডেটা দেখলে তো দেখাই যাবে ২২৪ ম্যাচ)। অস্ট্রেলিয়ার চেয়ে কম ম্যাচ খেলেও বেশি হেরেছে ইংল্যান্ড। কত দারুণ তথ্য দিচ্ছে সাধারণ এক বিক্ষেপ চিত্র! কোডটা তাহলে এবার দেখে নেই।\u0026nbsp;\u003C\/div\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: left;\"\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt4\" onclick=\"SelectAll('txt4');\" rows=\"4\"\u003Etest_win %\u003E% ggplot(aes(Won, Lost, color=Team)) +\n  geom_text(ddata = test_win, aes(x=Won, y = Lost, label = Team))+\n  theme(legend.position = \"none\")+\n  labs(title = \"Win-Loss Ratio of Test-Playing Team\")\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: left;\"\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: left;\"\u003E\nকাজ তো শেষ। এবার আমরা চাইলে প্লটখানাকে আরও উন্নত করতে পারি। নামের সাথে পয়েন্টও দেখাতে পারি। তবে সেজন্যে geom_text কে একটু ইডিট করে পয়েন্ট থেকে একটু পাশে সরিয়ে দিতে হবে। না হলে একটি আরেকটির ওপরে পড়ায় কোনটিই ভাল দেখা যাবে না।\u0026nbsp;\u003C\/div\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: left;\"\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt5\" onclick=\"SelectAll('txt5');\" rows=\"5\"\u003Etest_win %\u003E% ggplot(aes(Won, Lost, color=Team)) +\n  geom_point(size=4)+\n  geom_text(ddata = test_win, aes(x=Won-15, y = Lost+10,label = Team))+\n  theme(legend.position = \"none\")+\n  labs(title = \"Win-Loss Ratio of Test-Playing Team\")\u003C\/textarea\u003E\n\n\u003Cbr \/\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: left;\"\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\n\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-q7P19wmX7OU\/XaDSAw2tMqI\/AAAAAAAAFTI\/u7oX_5Bvbpgwk9uSc01RJUxdw6RnDrOJQCLcBGAsYHQ\/s1600\/scatter3.png\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg border=\"0\" data-original-height=\"1463\" data-original-width=\"1600\" height=\"584\" src=\"https:\/\/1.bp.blogspot.com\/-q7P19wmX7OU\/XaDSAw2tMqI\/AAAAAAAAFTI\/u7oX_5Bvbpgwk9uSc01RJUxdw6RnDrOJQCLcBGAsYHQ\/s640\/scatter3.png\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: left;\"\u003E\nএটা দেখেই অনেক ভালো বোঝা যাচ্ছে। তবে ভালোর তো শেষ নেই। আপনার বস হয়তো বলতে পারি, আমি প্লটেই আসল সংখ্যাও দেখতে চাই। কে কতটা জিতল সেটাও দেখান। কী আর করা! দেখিয়েই দিন। এ সুযোগে আমরা প্লটে ডেটা সোর্সটাও দেখিয়ে দেই।\u0026nbsp;\u003C\/div\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: left;\"\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt6\" onclick=\"SelectAll('txt6');\" rows=\"7\"\u003E  test_win %\u003E% ggplot(aes(Won, Lost, color=Team)) +\n  geom_point(size=4, pch= 19)+\n  geom_text(data = test_win, aes(x=Won-15, y = Lost+10 , \n                                  label = paste0(Team,  \"(\", Won, \",\", Lost, \")\")))+\n  theme(legend.position = \"none\")+\n  labs(title = \"Win-Loss Ratio of Test-Playing Team\", \n       caption = \"Source: https:\/\/en.wikipedia.org\/wiki\/List_of_Test_cricket_records\")\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: left;\"\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\n\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-kta0OZkvc1w\/XaDUBOrmnXI\/AAAAAAAAFTU\/wfc--PTDOxMu799ef9pyMIt6paYDFUk2ACLcBGAsYHQ\/s1600\/scatter4.png\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg border=\"0\" data-original-height=\"1463\" data-original-width=\"1600\" height=\"584\" src=\"https:\/\/1.bp.blogspot.com\/-kta0OZkvc1w\/XaDUBOrmnXI\/AAAAAAAAFTU\/wfc--PTDOxMu799ef9pyMIt6paYDFUk2ACLcBGAsYHQ\/s640\/scatter4.png\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: left;\"\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: left;\"\u003E\nতবে এই প্লটটা আসলে বাড়াবাড়ি। তবে বস চাইলে তো আর আসলে কিছু করার নেই। বস ইজ অলওয়েজ রাইট!\u0026nbsp;\u003C\/div\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: left;\"\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: left;\"\u003E\n[\u003Ci\u003Eলেখাটি উৎসর্গ করলাম সহকর্মী হাসান আহমেদকে।\u0026nbsp; ও-ই প্রথম এমন একটি গ্রাফের প্রস্তাব দিয়েছিল আমাকে।\u003C\/i\u003E]\u0026nbsp;\u003C\/div\u003E\n\u003C\/div\u003E\n"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/www.statmania.info\/feeds\/5926773580818971093\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/www.statmania.info\/2019\/10\/new-scatter.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/5926773580818971093"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/5926773580818971093"},{"rel":"alternate","type":"text/html","href":"https:\/\/www.statmania.info\/2019\/10\/new-scatter.html","title":"বিক্ষেপ চিত্র এত দারুণও হতে পারে! "}],"author":[{"name":{"$t":"আব্দুল্যাহ আদিল মাহমুদ"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/17462749408174996847"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"31","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEit8SKqHP7h2U7KFH71SRzI2ve5Vrmx4co6PDUV6gJtAmBpvVEYjNOhxhgOobEgy0DKuW-i1l3AMvAYEOsk1h4XDEer_Bb2FLmwEBQCfD3eJbx4HP7WzH3E_Ia6uG01yB5LJAwXSOlf0NqcsL4_l4VLWw8e394Xb8FZv40yeEQY5do8\/s220\/adil.jpg"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https:\/\/1.bp.blogspot.com\/-NdvGYI_2sEg\/XaDFgHCJUOI\/AAAAAAAAFSk\/8wfjpYSMin81JLAr_UBOh9dyX5J-5e_vACLcBGAsYHQ\/s72-c\/scatter1.png","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-1811735374964048282.post-2721220182572253633"},"published":{"$t":"2019-08-06T10:33:00.001-07:00"},"updated":{"$t":"2019-08-19T12:44:32.115-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"loop"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Mahmud"},{"scheme":"http://www.blogger.com/atom/ns#","term":"prime"},{"scheme":"http://www.blogger.com/atom/ns#","term":"R"},{"scheme":"http://www.blogger.com/atom/ns#","term":"review"}],"title":{"type":"text","$t":"R প্রোগ্রামিং: লুপের ভেতরে লুপ"},"content":{"type":"html","$t":"\u003Cdiv dir=\"ltr\" style=\"text-align: left;\" trbidi=\"on\"\u003E\n\u003Cdiv dir=\"ltr\" style=\"text-align: left;\" trbidi=\"on\"\u003E\n\u003Cdiv dir=\"ltr\" style=\"text-align: left;\" trbidi=\"on\"\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\nএকটা কাজ অসংখ্যবার করতে লুপ (loop)\u003Cspan style=\"color: black;\"\u003E\u0026nbsp;\u003C\/span\u003Eকোডিং-এর জগতে খুব জনপ্রিয় একটি নাম। \u003Ca href=\"http:\/\/www.statmania.info\/search\/label\/R?max-results=12\"\u003ER-এও\u003C\/a\u003E লুপ দারুণভাবে কাজে আসে। অবশ্য R-এ বেশিরভাগ কাজ লুপ ছাড়াই সহজে হয়ে যায়। অন্য প্রোগ্রামিং \u003Cspan style=\"color: black;\"\u003Eল্যাংগুয়েজে\u003C\/span\u003E\u0026nbsp;যেখানে সাধারণ যোগ বিয়োগেও লুপের দ্বারস্থ হতে হয়, সেখানে R দিয়ে সে কাজ করা যায় এক শব্দের কোড দিয়ে।\u003C\/div\u003E\n\u003Cdiv class=\"bnote\"\u003E\n\u003Cb\u003ER প্রোগ্রামিং:\u003C\/b\u003E দুজন পরিসংখ্যানবিদ রস ইহাকা ও রবার্ট জেন্টেলম্যান R তৈরি করেন। কাজে লাগান আগের S প্রোগ্রামিং ল্যাংগুয়েজ। বর্তমানে স্ট্যাটিস্টিক্যাল কম্পিউটিংয়ের জন্যে সেরা টুল R। প্রাথমিক সংস্করণ প্রস্তুত করা হয় ১৯৯৫ সালে।\u0026nbsp;\u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\n\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-lO1hhBJGYlc\/XUiOd8rI8CI\/AAAAAAAAFKQ\/0vq4kP7baGEMAvuJZkx6cliFa4uac355ACLcBGAs\/s1600\/Loop.jpg\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg border=\"0\" data-original-height=\"600\" data-original-width=\"600\" height=\"400\" src=\"https:\/\/1.bp.blogspot.com\/-lO1hhBJGYlc\/XUiOd8rI8CI\/AAAAAAAAFKQ\/0vq4kP7baGEMAvuJZkx6cliFa4uac355ACLcBGAs\/s400\/Loop.jpg\" width=\"400\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\n১ থেকে ১০০ পর্যন্ত যোগ করতে চান? শুধু লিখুন আর এন্টার \u003Cspan style=\"color: black;\"\u003E(Enter) \u003C\/span\u003Eচাপুন।\u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt1\" onclick=\"SelectAll('txt1');\" rows=\"1\"\u003Esum(1:100)\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\nতবে চাইলে এ কাজও আমরা লুপ ব্যবহার করে করতে পারি।\u0026nbsp;\u003C\/div\u003E\n\u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt2\" onclick=\"SelectAll('txt2');\" rows=\"5\"\u003Esum \u003C- 0\nfor (i in 1:100) {\n sum \u003C- sum + i\n }\nsum\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\n\u003Ci\u003Eউল্লেখ্য: R-এ সাধারণত '=' চিহ্নের বদলে \u0026lt;- ব্যবহার করা হয়। তবে চাইলে '='ও ব্যবহার করা যাবে।\u0026nbsp;\u003C\/i\u003E\u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\nলুপ ছাড়াও অনেক কাজ করা যায় তা ঠিক আছে। তবে নিজেকে প্রোগ্রামার হিসেবে পরিচয় দিতে হলে লুপ না জানা হবে বড়সড় এক \u003Cspan style=\"color: black;\"\u003Eদুর্বলতা\u003C\/span\u003E। তাছাড়া লুপ না বুঝে R-এরও সঠিক ব্যবহার হবে অসম্ভব একটি কাজ।\u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Cspan style=\"text-align: justify;\"\u003Eলুপের ভেতরের লুপকে বলে নেস্টেড লুপ (Nested loop)। তা দেখার আগে আবার দুয়েকটি \u003C\/span\u003E\u003Cspan style=\"color: black; text-align: justify;\"\u003Eসিংগেল\u003C\/span\u003E\u003Cspan style=\"text-align: justify;\"\u003E\u0026nbsp;লুপ দেখে নেই।\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\nধরুন\u003Cspan style=\"color: black;\"\u003E,\u003C\/span\u003E আমরা ১ থেকে ১০ এর বর্গ করব। আগের মতোই কাজটি লুপ ছাড়াও করা যাবে।\u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt3\" onclick=\"SelectAll('txt3');\" rows=\"1\"\u003E(1:10)^2\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\nহ্যাঁ\u003Cspan style=\"color: black;\"\u003E।\u003C\/span\u003E কাজটা অবিশ্বাস্য রকম সহজ। লুপ দিয়ে কেমন হয় দেখা যাক!\u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt4\" onclick=\"SelectAll('txt4');\" rows=\"5\"\u003Evalues \u003C- c()\nfor (i in 1:10) {\n values[i] \u003C- i^2\n }\nvalues\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\nফিবোনাচি সংখ্যা নিয়ে লেখায়ও আমরা লুপের ব্যবহার দেখেছি। সেটা আবার দেখে নিলে মন্দ হয় না।\u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Cb\u003Eআরও পড়ুন\u003C\/b\u003E\u003Cbr \/\u003E\n\u003Cb\u003E☛\u0026nbsp;\u003C\/b\u003E\u0026nbsp;\u003Ca href=\"https:\/\/www.statmania.info\/2019\/06\/fibo-r.html\"\u003Eফিবোনাচি সংখ্যার বিস্ময়কর জগৎ\u0026nbsp;\u003C\/a\u003E\u003Cbr \/\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt5\" onclick=\"SelectAll('txt5');\" rows=\"12\"\u003Efibo \u003C- function(n)\n {\n fibvals \u003C- c()\n fibvals[1] \u003C- 1\n fibvals[2] \u003C- 1\n for (i in 3:n) \n  { \n    fibvals[i] \u003C- fibvals[i-1]+fibvals[i-2]\n  }\n fibvals\n }\nvalues\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\nআশা করি \u003Cspan style=\"color: black;\"\u003Eসিংগেল\u003C\/span\u003E\u0026nbsp;লুপ নিয়ে আমরা যথেষ্ট\u0026nbsp;জ্ঞান হাসিল করে ফেলেছি। এবার তাহলে নেস্টেড লুপ দেখা যাক।\u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\nআগে সরল লুপ দিয়ে শুরু হোক। ধরুন, আমরা দুটি ভেক্টরের প্রতিটি মানকে আরেকটি ভেক্টরের প্রতিটি মানের সাথে গুণ করব। আরেকটু খোলাসা করে বলি। ধরুন\u003Cspan style=\"color: black;\"\u003E,\u003C\/span\u003E আমরা ১ থেকে ১০ সংখ্যাগুলোর প্রতিটিকে ১১ থেকে ২০ সংখ্যাগুলোর প্রতিটির সাথে গুণ করব। তাহলে আমাদের ১০০টি সংখ্যা পাওয়ার কথা। দেখা যাক লুপ দিয়ে কী করা যায়।\u0026nbsp;\u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt6\" onclick=\"SelectAll('txt6');\" rows=\"8\"\u003Evalues \u003C- c()\n for (i in 1:10){\n for (j in 11:20){\n  value1 \u003C- i*j\n  values \u003C- c(values, value1)\n  }\n }\nvalues\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\nবাহ! কাজ করছে। এবার আরেকটু সিরিয়াস কাজ করা যাক।\u003C\/div\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\nআমরা কোনো সংখ্যা মৌলিক কি না তা চেক\u0026nbsp;করব। এটার জন্য একটা ফাংশন বানানো যাক। যেখানে আপাতত থাকছে একটিমাত্র লুপ।\u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt7\" onclick=\"SelectAll('txt7');\" rows=\"8\"\u003Eprime2 \u003C- function(num){\nind = 0\n# prime numbers are greater than 1\nif(num \u003E 1) {\n ind = 1\n for(i in 2:ceiling(num\/2)) {\n  if ((num %% i) == 0) {\n   ind = 0\n   break\n   }\n  }\n } \nif(num == 2)    ind = 1\nif(ind == 1) {\n print(paste(num,\"is a prime number\"))\n } else {\n print(paste(num,\"is not a prime number\"))\n  }\n }\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\nফাংশনটি কাজ করছে কি না যাচাই করে দেখা উচিত।\u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt8\" onclick=\"SelectAll('txt8');\" rows=\"2\"\u003Eprime2(2)\nprime2(4)\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\n\u003Cspan style=\"color: black;\"\u003Eহ্যাঁ,\u003C\/span\u003E করছে। এবার এটাকে সামান্য জটিল করে একটিমাত্র সংখ্যার বদলে অনেকগুলো সংখ্যা বা ভেক্টরের জন্য কাজে লাগাই। এই কোডে আমরা i দিয়ে লুপ করেছি প্রতিটি সংখ্যাকে। আবার প্রতিটি সংখ্যা মৌলিক কি না তা দেখার জন্য সংখ্যাটির অর্ধেক বা অর্ধেকের বড় সংখ্যাটি পর্যন্ত সংখ্যাগুলো দিয়ে নির্দিষ্ট সংখ্যাটিকে ভাগ করে দেখেছি। এখানে ভাজকগুলোকে আমরা j দিয়ে লুপ করেছি।\u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt9\" onclick=\"SelectAll('txt9');\" rows=\"8\"\u003Eprime_count \u003C- function(x){\nind \u003C- rep(1, length(x))\nfor (i in x){ \n# prime numbers are greater than 1; 2 is dealt with in output section.\nif(i \u003E 2) {\n# check for factors\nfor(j in 2:ceiling(i\/2)) {\nif ((i %% j) == 0) {\nind[i] = 0\nbreak\n}\n}\n} \n}\noutput \u003C- list(df=data.frame(Number = x, \n is_prime = ifelse(x==1, 0, ifelse(x==2, 1, ind))),\n nprime=sum(ind)-1)\n}\n\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\nএবার এখান থেকে আউটপুট দেখে নেওয়া যাক। আমরা ফাংশনটা এমনভাবে সাজিয়েছি যাতে কোন সংখ্যাগুলো মৌলিক তা দেখা যাবে আবার মোট কতটি মৌলিক তাও চেক করা যাবে।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt10\" onclick=\"SelectAll('txt10');\" rows=\"2\"\u003Eprime_count(1:20)$nprime\nprime_count(1:20)$df\n\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\nলাইন দুটি থেকে আমরা পাব যথাক্রমে একটি স্কেলার ও একটি\u0026nbsp;ডেটাফ্রেইম। স্কেলার বলবে সংখ্যাগুলোর মধ্যে কতটি মৌলিক। ডেটাফ্রেইমে \u003Ci\u003Eis_prime\u003C\/i\u003E কলামের ০ মানে সংখ্যাটি মৌলিক নয়। আর ১ মানে মৌলিক।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএই ফাংশনটি দিয়ে আমরা মৌলিক সংখ্যার অনেক দারুণ দারুণ কাজ করতে পারি। এ বিষয়ে আরও জানতে পড়তে পারেই উইকিপিডিয়ার \u003Ca href=\"https:\/\/en.wikipedia.org\/wiki\/Prime-counting_function\" target=\"_blank\"\u003Eএই লেখাটি\u003C\/a\u003E।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\nনেস্টেড লুপের দারুণ কোনো উদাহরণ আপনার কাছে থাকলে শেয়ার করতে ভুলবেন না যেন!\u0026nbsp;\u003C\/div\u003E\n\u003C\/div\u003E\n"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/www.statmania.info\/feeds\/2721220182572253633\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/www.statmania.info\/2019\/08\/r-nested-loop.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/2721220182572253633"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/2721220182572253633"},{"rel":"alternate","type":"text/html","href":"https:\/\/www.statmania.info\/2019\/08\/r-nested-loop.html","title":"R প্রোগ্রামিং: লুপের ভেতরে লুপ"}],"author":[{"name":{"$t":"আব্দুল্যাহ আদিল মাহমুদ"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/17462749408174996847"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"31","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEit8SKqHP7h2U7KFH71SRzI2ve5Vrmx4co6PDUV6gJtAmBpvVEYjNOhxhgOobEgy0DKuW-i1l3AMvAYEOsk1h4XDEer_Bb2FLmwEBQCfD3eJbx4HP7WzH3E_Ia6uG01yB5LJAwXSOlf0NqcsL4_l4VLWw8e394Xb8FZv40yeEQY5do8\/s220\/adil.jpg"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https:\/\/1.bp.blogspot.com\/-lO1hhBJGYlc\/XUiOd8rI8CI\/AAAAAAAAFKQ\/0vq4kP7baGEMAvuJZkx6cliFa4uac355ACLcBGAs\/s72-c\/Loop.jpg","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-1811735374964048282.post-9160552234724967589"},"published":{"$t":"2019-07-29T12:05:00.000-07:00"},"updated":{"$t":"2019-07-29T12:21:01.700-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"complex"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Mahmud"},{"scheme":"http://www.blogger.com/atom/ns#","term":"math"},{"scheme":"http://www.blogger.com/atom/ns#","term":"review"}],"title":{"type":"text","$t":"কাল্পনিক সংখ্যা আসলে কতটা কাল্পনিক? "},"content":{"type":"html","$t":"\u003Cdiv dir=\"ltr\" style=\"text-align: left;\" trbidi=\"on\"\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\n\u003Cspan style=\"color: black;\"\u003Eসংখ্যা পদ্ধতিতে ‘অবাস্তব’ (বা জটিল) নামে এক ধরনের সংখ্যা আছে। এদের আবার দুটো অংশ। একটি \u003Cspan style=\"background-color: white;\"\u003E\u003Cspan style=\"color: black;\"\u003Eঅংশের\u003C\/span\u003E\u003C\/span\u003E নাম বাস্তব অংশ, অপরটিকে বলা হয় কাল্পনিক অংশ। বাস্তব দুনিয়ায় নাকি এই কাল্পনিক অংশের কোনো ভূমিকা নেই। এর কারণটাকে প্রথম দৃষ্টিতে খুব যৗেক্তিক বলেই\u0026nbsp;মনে হয়। কিন্তু আমরা একটু যাচাই করতে চাই এই মত কতটা \u003Cspan style=\"background-color: white;\"\u003Eসঠিক\u003C\/span\u003E। তার আগে দেখে নেই একে অবাস্তব কেন বলা হয়।\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\n\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-38N_KtdEoa8\/XT9EzwmbMbI\/AAAAAAAAFJ0\/1EFoxG2phFEEIgovnoLfO-gKUrw26NISwCLcBGAs\/s1600\/imaginary-numbers.jpg\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cspan style=\"color: black;\"\u003E\u003Cimg border=\"0\" data-original-height=\"910\" data-original-width=\"1024\" height=\"355\" src=\"https:\/\/1.bp.blogspot.com\/-38N_KtdEoa8\/XT9EzwmbMbI\/AAAAAAAAFJ0\/1EFoxG2phFEEIgovnoLfO-gKUrw26NISwCLcBGAs\/s400\/imaginary-numbers.jpg\" width=\"400\" \/\u003E\u003C\/span\u003E\u003C\/a\u003E\u003C\/div\u003E\n\u003C\/div\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\n\u003Cspan style=\"color: black;\"\u003Eআমরা জানি ৩ × ৩ = ৯, আবার (-৩) × (-৩) ও ৯। তার মানে ৯-কে \u003Cspan style=\"color: black;\"\u003Eবর্গমূল\u003C\/span\u003E\u0026nbsp;করলে আমরা ৩ এবং (-৩) দুটোই \u003Cspan style=\"color: black;\"\u003Eপাচ্ছি\u003C\/span\u003E। (-৩) ও যদি ৯ থেকেই পেয়ে যাই, তাহলে (-৯) \u003Cspan style=\"color: black;\"\u003Eথেকে\u003C\/span\u003E\u0026nbsp;কী পাব? সাধারণ অবস্থায় কিছুই পাব না। কোনো সংখ্যাকে বর্গমূল করলে আমরা কী পাই তা তো সহজ কথা। যে সংখ্যাটিকে নিজের সাথে গুণ করলে বর্গ সংখ্যাটি আসে সে সংখ্যাটি পাব। এখন, এমন কোনো সংখ্যা কি বাস্তব জগতে আছে যাকে নিজের সাথে গুণ করলে ঋণাত্মক\u0026nbsp;কোনো সংখ্যা পাওয়া যাবে? ঋণাত্মক সংখ্যারাও নিজের সাথে গুণ হয়ে ধনাত্মক হয়ে যায় \u003Cspan style=\"color: black;\"\u003Eবলেই\u003C\/span\u003E\u0026nbsp;যত সমস্যা। অতএব যে-কোনো ঋণাত্মক সংখ্যার বর্গমূল অবাস্তব সংখ্যা!\u003C\/span\u003E\u003C\/div\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\n\u003Cspan style=\"color: black;\"\u003E\u003Cbr \/\u003E\u003C\/span\u003E\u003C\/div\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\n\u003Cspan style=\"color: black;\"\u003Eসমস্যাটা বোঝা যায় এই সমীকরণটি সমাধান করতে গেলে: $x^2+1=0$\u003C\/span\u003E\u003C\/div\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\n\u003Cspan style=\"color: black;\"\u003Eমানে, $x^2=-1$\u003C\/span\u003E\u003C\/div\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\n\u003Cspan style=\"color: black;\"\u003E\u003Cbr \/\u003E\u003C\/span\u003E\u003C\/div\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\n\u003Cspan style=\"color: black;\"\u003Eমানে $x$ হবে এমন একটি সংখ্যা, যাকে নিজের সাথে গুণ করলে (-১) হবে। ১-কে নিজের সাথে গুণ করলে ১ হয়। আবার (-১) কেও নিজের সাথে গুণ করলে ১ হয়। অতএব, এই সমীকরণের জন্য $x$\u0026nbsp;কাল্পনিক সংখ্যা!\u0026nbsp;\u003C\/span\u003E\u003C\/div\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\n\u003Cspan style=\"color: black;\"\u003E\u003Cbr \/\u003E\u003C\/span\u003E\u003C\/div\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\n\u003Cspan style=\"color: black;\"\u003Eএখন দেখা যাক, এই অবাস্তব বা কাল্পনিক সংখ্যা আসলে কতটা অবাস্তব। বাস্তব সংখ্যার মধ্যে বিভিন্ন রকম সংখ্যা আছে।\u0026nbsp;আছে \u003Cspan style=\"color: black;\"\u003Eস্বাভাবিক\u003C\/span\u003E সংখ্যা। এরা (১, ২, ৩, ... এভাবে এক এক করে অসীম বা ∞ \u003Cspan style=\"color: black;\"\u003Eপর্যন্ত\u003C\/span\u003E)। আছে \u003Cspan style=\"color: black;\"\u003Eপূর্ণ\u003C\/span\u003E\u0026nbsp;সংখ্যা (-∞,..,-২, -১, ০, ১, ২,.., +∞)। এছাড়াও আছে সব রকম মূলদ (\u003Cspan style=\"color: black;\"\u003Eপূর্ণ\u003C\/span\u003E\u0026nbsp;সংখ্যার অনুপাত, যেমন $\\frac{3}{4}$) ও অমূলদ সংখ্যা (যেমন পাই (π), যার মান ৩.১৪১৫৯...) । \u003Cspan style=\"color: black;\"\u003Eএদেরকে\u003C\/span\u003E\u0026nbsp;আমরা এই \u003Cspan style=\"color: black;\"\u003Eসংখ্যারেখার\u003C\/span\u003E মাধ্যমে প্রকাশ করি।\u003C\/span\u003E\u003C\/div\u003E\n\u003Cspan style=\"color: black;\"\u003E\u003Cbr \/\u003E\u003C\/span\u003E\n\u003Cbr \/\u003E\n\u003Ctable align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\"\u003E\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd style=\"text-align: center;\"\u003E\u003Ca href=\"http:\/\/3.bp.blogspot.com\/-9GVzPc-L0x0\/XTIQ8gS0trI\/AAAAAAAAFH8\/DNL4aOuJa-UwZxVBAtKk1K6ObMRJDt1FQCK4BGAYYCw\/s1600\/number_line.bmp\" imageanchor=\"1\" style=\"margin-left: auto; margin-right: auto;\"\u003E\u003Cspan style=\"color: black;\"\u003E\u003Cimg border=\"0\" height=\"138\" src=\"https:\/\/3.bp.blogspot.com\/-9GVzPc-L0x0\/XTIQ8gS0trI\/AAAAAAAAFH8\/DNL4aOuJa-UwZxVBAtKk1K6ObMRJDt1FQCK4BGAYYCw\/s400\/number_line.bmp\" width=\"400\" \/\u003E\u003C\/span\u003E\u003C\/a\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd class=\"tr-caption\" style=\"text-align: center;\"\u003E\u003Cspan style=\"color: black;\"\u003Eবাস্তব \u003Cspan style=\"color: black;\"\u003Eসংখ্যারেখা\u0026nbsp;\u003C\/span\u003E\u003C\/span\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\u003C\/table\u003E\n\u003Cspan style=\"color: black;\"\u003E\u003Cbr \/\u003E\u003C\/span\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\n\u003Cspan style=\"color: black;\"\u003Eএক সময় কিন্তু ঋণাত্মক সংখ্যাকেও \u003Cspan style=\"color: black;\"\u003Eঅস্বাভাবিক\u003C\/span\u003E\u0026nbsp;ভাবা \u003Cspan style=\"color: black;\"\u003Eহতো\u003C\/span\u003E। মনে করা \u003Cspan style=\"color: black;\"\u003Eহতো\u003C\/span\u003E\u0026nbsp;বাস্তত জগতে এদের কোনো কাজ নেই। যেমন কারও কাছে ৫ টাকা আছ। সে কি এখান \u003Cspan style=\"color: black;\"\u003Eথেকে\u003C\/span\u003E\u0026nbsp;কাউকে ৮ টাকা দিতে পার? ৫ \u003Cspan style=\"color: black;\"\u003Eথেকে\u003C\/span\u003E\u0026nbsp;কি ৮-কে বিয়োগ করা যায়? প্রথমে অসম্ভব মনে হলেও পরে দেখা গেল যে হ্যাঁ, যায়। সে কারও কাছ থেকে ৩ টাকা ধার নিয়ে \u003Cspan style=\"color: black;\"\u003Eআরেকজনকে\u003C\/span\u003E পুরো ৮ টাকা \u003Cspan style=\"color: black;\"\u003Eদিতে\u003C\/span\u003E\u0026nbsp;পারে। তবে সে ৩ টাকা \u003Cspan style=\"color: black;\"\u003Eঋণী\u003C\/span\u003E\u0026nbsp;থাকল। ফলে এখন তার কাছে থাকল (-৩) টাকা।\u003C\/span\u003E\u003C\/div\u003E\n\u003Cspan style=\"color: black;\"\u003E\u003Cbr \/\u003E\u003C\/span\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\n\u003Cspan style=\"color: black;\"\u003Eধরুন, আমি ব্যাংকে দশ লাখ টাকা ঋণী। এর মানে ব্যাংকে আমার মাইনাস দশ লাখ টাকা আছে! এভাবে চিন্তা করতে গিয়েই ঋণাত্মক সংখ্যাকে নিয়ে আসা হয় বাস্তব জগতে। এছাড়াও ঋণাত্মক সংখ্যা নিয়ে আসায় কঠিন সমীকরণকে আগের চেয়ে সহজে সমাধান করা সম্ভব হচ্ছিল।\u003C\/span\u003E\u003C\/div\u003E\n\u003Cspan style=\"color: black;\"\u003E\u003Cbr \/\u003E\u003C\/span\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\n\u003Cspan style=\"color: black;\"\u003Eএরপর ভগ্নাংশের সাথেও একই আচরণ করা \u003Cspan style=\"color: black;\"\u003Eহয়েছিল\u003C\/span\u003E। পরে খুঁজে পাওয়া যায় তাদেরও যৌক্তিকতা।\u003C\/span\u003E\u003C\/div\u003E\n\u003Cspan style=\"color: black;\"\u003E\u003Cbr \/\u003E\u003C\/span\u003E\n\u003Cb\u003E\u003Cspan style=\"color: black;\"\u003Eআরও পড়ুন\u003C\/span\u003E\u003C\/b\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: black;\"\u003E☛\u0026nbsp;\u003Ca href=\"https:\/\/www.statmania.info\/2016\/01\/negative-probability.html\" target=\"_blank\"\u003Eঋণাত্মক সম্ভাবনা কি আসলেই অসম্ভব?\u003C\/a\u003E\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cspan style=\"color: black;\"\u003E\u003Cbr \/\u003E\u003C\/span\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\n\u003Cspan style=\"color: black;\"\u003Eএখন আমরা দেখতে চাই অবাস্তব বা জটিল সংখ্যাকেও বাস্তব জগতে নিয়ে আসা যায় কি না।ও\u003Cspan style=\"color: black;\"\u003Eপরের\u003C\/span\u003E\u0026nbsp;ছবিতে দেখুন, ঋণাত্মক সংখ্যারা থাকে ধনাত্মক সংখ্যার উল্টো দিকে, গণিতের ভাষায় যাকে বলে ১৮০ ডিগ্রিতে। ১৮০ ডিগ্রিকে আবার \u003Cspan style=\"color: black;\"\u003Eসরলকোণও\u003C\/span\u003E বলে।\u003C\/span\u003E\u003C\/div\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\n\u003Cspan style=\"color: black;\"\u003E\u003Cbr \/\u003E\u003C\/span\u003E\u003C\/div\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\n\u003Cspan style=\"color: black;\"\u003Eধরুন, কেউ ২ একক বেগে দক্ষিণ দিকে যাচ্ছে। তাহলে উত্তর দিকে তার বেগ কত? আমরা জানি, উত্তর ও দক্ষিণ দিক একে অপরের সাথে ১৮০ ডিগ্রিতে আছে। তাহলে উত্তর দিকে বেগ হবে (-২) একক।\u003C\/span\u003E\u003C\/div\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\n\u003Cspan style=\"color: black;\"\u003E\u003Cbr \/\u003E\u003C\/span\u003E\n\u003Cbr \/\u003E\n\u003Ctable align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\"\u003E\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd style=\"text-align: center;\"\u003E\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-AUZN8YrrXAk\/XT9A8K1izAI\/AAAAAAAAFJc\/4YIVpKkYrgk0km8kzS8Y8V-FSozFiU1NgCLcBGAs\/s1600\/straight-angles.jpg\" imageanchor=\"1\" style=\"margin-left: auto; margin-right: auto;\"\u003E\u003Cspan style=\"color: black;\"\u003E\u003Cimg border=\"0\" data-original-height=\"384\" data-original-width=\"600\" height=\"255\" src=\"https:\/\/1.bp.blogspot.com\/-AUZN8YrrXAk\/XT9A8K1izAI\/AAAAAAAAFJc\/4YIVpKkYrgk0km8kzS8Y8V-FSozFiU1NgCLcBGAs\/s400\/straight-angles.jpg\" width=\"400\" \/\u003E\u003C\/span\u003E\u003C\/a\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd class=\"tr-caption\" style=\"text-align: center;\"\u003E\u003Cspan style=\"color: black;\"\u003E'উল্টো' এর গাণিতিক রূপ হলো ১৮০ ডিগ্রি। চাইলে ইউ-টার্নও বলতে পারেন একে।\u0026nbsp;\u003C\/span\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\u003C\/table\u003E\n\u003Cspan style=\"color: black;\"\u003E\u003Cbr \/\u003E\u003C\/span\u003E\n\u003Cspan style=\"color: black;\"\u003E\u0026nbsp;(-১) এ কথাই ধরুন না। (-১) এর \u003Cspan style=\"color: black;\"\u003Eবর্গ\u003C\/span\u003E\u0026nbsp;করার (-১ × -১) মানে হল ১ কে দুইবার ১৮০ ডিগ্রি ঘুরিয়ে দেওয়া (বিপরীত অবস্থানে আনা)। ফলে একবার ঘুরিয়ে পাব -১। \u003Cspan style=\"color: black;\"\u003E(-১)\u003C\/span\u003E-কে আবার ঘোরালে আবার ১৮০ ডিগ্রি ঘুরে হয়ে যাবে ১। ফলে ঋণাত্মক সংখ্যা -১ এরও বর্গ হয়ে যাচ্ছে ধনাত্মক ১। এই গোলকধাঁধা থেকে বের হওয়া দরকার।\u003C\/span\u003E\u003C\/div\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\n\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-U65TS_hJuMg\/XT9C2ufeHwI\/AAAAAAAAFJo\/SVvDRtZp738CcH-pbCbImQkIiUrqPoMlQCLcBGAs\/s1600\/1-1.png\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cspan style=\"color: black;\"\u003E\u003Cimg border=\"0\" data-original-height=\"371\" data-original-width=\"692\" height=\"340\" src=\"https:\/\/1.bp.blogspot.com\/-U65TS_hJuMg\/XT9C2ufeHwI\/AAAAAAAAFJo\/SVvDRtZp738CcH-pbCbImQkIiUrqPoMlQCLcBGAs\/s640\/1-1.png\" width=\"640\" \/\u003E\u003C\/span\u003E\u003C\/a\u003E\u003C\/div\u003E\n\u003Cspan style=\"color: black;\"\u003E\u003Cbr \/\u003E\u003C\/span\u003E\u003C\/div\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\n\u003Cspan style=\"color: black;\"\u003Eভালো করে খেয়াল করুন। মাইনাস দিয়ে গুণ দিলেই একসাথে ১৮০ ডিগ্রি ঘুরে যাচ্ছে। তাহলে -১ (বা -৯ \u003Cspan style=\"color: black;\"\u003Eইত্যাদি\u003C\/span\u003E) এর বর্গমূল নিতে হলে এমন একটি সংখ্যা দরকার, যেটি একবার ঘুরেই নয়\u003Cspan style=\"color: black;\"\u003E,\u003C\/span\u003E বরং দুইবার ঘুরে (-১) হবে। অনেক ভারী একটা কথা। আবার পড়তে পারেন।\u003C\/span\u003E\u003C\/div\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\n\u003Cspan style=\"color: black;\"\u003E\u003Cbr \/\u003E\u003C\/span\u003E\u003C\/div\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\n\u003Cspan style=\"color: black;\"\u003Eতাহলে সেটিকে একবারে ১৮০ \u003Cspan style=\"color: black;\"\u003Eডিগ্রি\u003C\/span\u003E\u0026nbsp;এর অর্ধেক, মানে ৯০ ডিগ্রি \u003Cspan style=\"color: black;\"\u003Eকোণে\u003C\/span\u003E ঘুরতে হবে। আমরা নতুন একটি সংখ্যা কল্পনা করি। একে নাম দেই i। ধরি i × i = -১। এই i-কে আমরা 1i-ও বলতে পারি। ১-কে 1i প্রথমে ৯০ ডিগ্রি ঘুরিয়ে \u003Cspan style=\"color: black;\"\u003Eসংখ্যারেখা\u003C\/span\u003E থেকে উপরের দিকে উঠিয়ে দেবে। মানে y-অক্ষের দিকে। আরকেটি i ও গুণ হয়ে সেটি পৌঁছাবে -১ অবস্থানে। \u003Cspan style=\"color: black;\"\u003Eএইভাবে\u003C\/span\u003E:\u003C\/span\u003E\u003C\/div\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\n\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-Elv3cjGal5k\/XTPYXnTVYmI\/AAAAAAAAFIQ\/ILz6s6g421cDgrXF-k12zRRm2BnV4a2fQCLcBGAs\/s1600\/complex2.png\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cspan style=\"color: black;\"\u003E\u003Cimg border=\"0\" data-original-height=\"347\" data-original-width=\"500\" height=\"443\" src=\"https:\/\/1.bp.blogspot.com\/-Elv3cjGal5k\/XTPYXnTVYmI\/AAAAAAAAFIQ\/ILz6s6g421cDgrXF-k12zRRm2BnV4a2fQCLcBGAs\/s640\/complex2.png\" width=\"640\" \/\u003E\u003C\/span\u003E\u003C\/a\u003E\u003C\/div\u003E\n\u003Cspan style=\"color: black;\"\u003E\u003Cbr \/\u003E\u003C\/span\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\n\u003Cspan style=\"color: black;\"\u003Eতার মানে, তথাকথিত জটিল সংখ্যা আসলে দ্বিমাত্রিক সংখ্যা। সংখ্যার একটি অংশ থাকে x-অক্ষের দিকে। আরেকটি অংশ y-অক্ষের দিকে। y-অক্ষের অংশের নামই হলো 'কাল্পনিক'। আমাদের পরিচিত 'বাস্তব' সংখ্যা হলো \u003Cspan style=\"color: black;\"\u003Eএক মাত্রার\u003C\/span\u003E সংখ্যা। শুধু x-অক্ষের দিকে।\u003C\/span\u003E\u003C\/div\u003E\n\u003Cspan style=\"color: black;\"\u003E\u003Cbr \/\u003E\u003C\/span\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\n\u003Cspan style=\"color: black;\"\u003Eনীচের চিত্রে কিছু জটিল সংখ্যা দেখানো হলো:\u003C\/span\u003E\u003C\/div\u003E\n\u003Ctable align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\"\u003E\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd style=\"text-align: center;\"\u003E\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-jCFVbld1yQo\/XTPZmcs1kZI\/AAAAAAAAFIc\/3jnzcCNNB3Y2rVHQa2YBUtJfcdb7HFWhwCLcBGAs\/s1600\/complex3.gif\" imageanchor=\"1\" style=\"margin-left: auto; margin-right: auto;\"\u003E\u003Cspan style=\"color: black;\"\u003E\u003Cimg border=\"0\" data-original-height=\"341\" data-original-width=\"361\" height=\"302\" src=\"https:\/\/1.bp.blogspot.com\/-jCFVbld1yQo\/XTPZmcs1kZI\/AAAAAAAAFIc\/3jnzcCNNB3Y2rVHQa2YBUtJfcdb7HFWhwCLcBGAs\/s320\/complex3.gif\" width=\"320\" \/\u003E\u003C\/span\u003E\u003C\/a\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd class=\"tr-caption\" style=\"text-align: center;\"\u003E\u003Cspan style=\"color: black;\"\u003Eজটিল সংখ্যার আর্গন্ড চিত্র\u0026nbsp;\u003C\/span\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\u003C\/table\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\n\u003Cspan style=\"color: black;\"\u003Eবাস্তব জগতরেই বিভিন্ন ক্ষেত্রে এবং বহু বৈজ্ঞানিক সূত্রে এই কাল্পনিক সংখ্যার উপস্থিতি রয়েছে। কোয়ান্টাম মেকানিক্স কিংবা পরিসংখ্যান-সর্বত্রই এদের ব্যবহার হয়ে চলেছে হরদম। ফলে এদেরকে কাল্পনিক বলা অনেক বড় একটি কল্পনাই বটে।\u0026nbsp;\u003C\/span\u003E\u003C\/div\u003E\n\u003Cscript src=\"chrome-extension:\/\/lmnganadkecefnhncokdlaohlkneihio\/enable.js\"\u003E\u003C\/script\u003E\u003Cbr \/\u003E\n\u003Cscript src=\"chrome-extension:\/\/lmnganadkecefnhncokdlaohlkneihio\/enable.js\"\u003E\u003C\/script\u003E\u003C\/div\u003E\n"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/www.statmania.info\/feeds\/9160552234724967589\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/www.statmania.info\/2019\/07\/imaginary-number.html#comment-form","title":"2 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/9160552234724967589"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/9160552234724967589"},{"rel":"alternate","type":"text/html","href":"https:\/\/www.statmania.info\/2019\/07\/imaginary-number.html","title":"কাল্পনিক সংখ্যা আসলে কতটা কাল্পনিক? "}],"author":[{"name":{"$t":"আব্দুল্যাহ আদিল মাহমুদ"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/17462749408174996847"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"31","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEit8SKqHP7h2U7KFH71SRzI2ve5Vrmx4co6PDUV6gJtAmBpvVEYjNOhxhgOobEgy0DKuW-i1l3AMvAYEOsk1h4XDEer_Bb2FLmwEBQCfD3eJbx4HP7WzH3E_Ia6uG01yB5LJAwXSOlf0NqcsL4_l4VLWw8e394Xb8FZv40yeEQY5do8\/s220\/adil.jpg"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https:\/\/1.bp.blogspot.com\/-38N_KtdEoa8\/XT9EzwmbMbI\/AAAAAAAAFJ0\/1EFoxG2phFEEIgovnoLfO-gKUrw26NISwCLcBGAs\/s72-c\/imaginary-numbers.jpg","height":"72","width":"72"},"thr$total":{"$t":"2"}},{"id":{"$t":"tag:blogger.com,1999:blog-1811735374964048282.post-6582418444734563351"},"published":{"$t":"2019-06-29T12:27:00.000-07:00"},"updated":{"$t":"2023-04-24T10:23:14.369-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"Mahmud"},{"scheme":"http://www.blogger.com/atom/ns#","term":"math"},{"scheme":"http://www.blogger.com/atom/ns#","term":"plot"},{"scheme":"http://www.blogger.com/atom/ns#","term":"R"},{"scheme":"http://www.blogger.com/atom/ns#","term":"review"},{"scheme":"http://www.blogger.com/atom/ns#","term":"visualization"}],"title":{"type":"text","$t":"প্যারামেট্রিক সমীকরণ কী কাজে লাগে? "},"content":{"type":"html","$t":"\u003Cdiv dir=\"ltr\" style=\"text-align: left;\" trbidi=\"on\"\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\nপ্রথমে দেখে মনে হবে এ আর এমন কী? একঘেঁয়ে এক জোড়া সমীকরণ। অথচ চিন্তাটা কত অসাধারণ! কেন অসাধারণ তা দেখার আগে একটা-দুইটা উদাহরণ দেখে নিলে মন্দ হয় না। আপাতত আমরা খুবই সাধারণ একটা উদাহরণ দেখব।\u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\nধরুন, আমাদের কাছে খুবই সরল একটা সমীকরণ আছে। $y = \\frac{x}{2}+25 $।\u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\nএকে প্যারামেট্রিক রূপ দেওয়া যাক। বিস্তারিত বলার আগে আপাতত এটা বলে রাখি, প্যারামেট্রিক সমীকরণে আমরা দুটো চলকের (Variable) সম্পর্ককে তৃতীয় অন্য আরেকটি চলক দিয়ে (সাধারণত যাকে t দিয়ে প্রকাশ করা হয়) প্রকাশ করি।\u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\nপ্যারামেট্রিক করতে ধরি, $t = \\frac{x}{2}$। অবশ্যই আপনি অন্য কিছুও ধরতে পারতেন। এখানে থেকে, $x =2 \\times t$।\u003C\/div\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\nতাহলে, $y = \\frac{2t}{2}+25 = t+25 $\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nঅতএব, $y = \\frac{x}{2}+25 $ সমীকরণকে প্যারামেট্রিক করে আমরা দুটো সমীকরণ পেলাম।\u003Cbr \/\u003E\n\u003Cul style=\"text-align: left;\"\u003E\n\u003Cli\u003E$x=2t $\u003C\/li\u003E\n\u003Cli\u003E$y = t +25 $\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Cdiv\u003E\nআমরা আরও কিছু উদাহরণ দেখব। তবে তার আগে একটু চিন্তা করি, কী লাভ হয় প্যারামেট্রিক সমীকরণ দিয়ে?\u0026nbsp;\u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\n$y = \\frac{x}{2}+ 25 $\u0026nbsp;সমীকরণটা নিয়ে আবার চিন্তা করি। এটা দিয়ে $x$ ও $y$ এর সম্পর্ক বোঝানো হয়েছে। যেখানে $y$ নির্ভর করছে $x$ এর ওপর। এই সম্পর্ক নানান রকমের হতে পারে। আপাতত আমরা ধরে নিচ্ছি এখানে $x$ দ্বারা বোঝাচ্ছে একটি অফিসের জন্যে প্রতিদিন কয়টি কলম কেনা হচ্ছে। আর $y$ দ্বারা বোঝাচ্ছে কত পেইজ কাগজ লাগছে।\u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\nতাহলে, ১০টা কলম কিনলে কাগজ কেনা হবে $y=\\frac{10}{2}\u0026nbsp;+ 25$। মানে ৩০ পেইজ।\u003C\/div\u003E\n\u003Cbr \/\u003E\nআপাত দৃষ্টিতে দেখা যাচ্ছে, কাগজের সংখ্যা কলমের সংখ্যার ওপর নির্ভর করছে। অথচ বাস্তবে সেটা নাও হতে পারে।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\nহতে পারে কোনটা কতটা কেনা হবে সেটা নির্ভর করছে ঐদিন অফিসে কত জন মানুষ লেখালেখি বিষয়ক কাজ করছে তার ওপর। এই সংখ্যাকে আমরা $t$ দিয়ে প্রকাশ করতে পারি। আমরা একটু আগেই $t$ এর সাথে $x$ ও $y$ এর সম্পর্ক বের করেছি। তাহলে ধরা যাক, কোনো একদিন ঐ অফিসে ৩০ জন মানুষ কাগজে লেখালেখি করবে।\u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\nতাহলে, মোট কলম লাগবে, $x=2t$\u0026nbsp; বা $2 \\times 30$, মানে ৬০টি।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nআর কাগজ লাগবে $y= t +25 = 30 + 25 = 65$। মানে কাগজ লাগবে ৬৫ পেইজ। \u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\nতাহলে আমরা দেখলাম, আসলে কয়টি কলম বা কত পেইজ কাগজ কেনা হবে সেটা আসলে নির্ভর করছে তৃতীয় আরেকটি চলকের ওপর। কাগজ ও কলমের সংখ্যা একে অপরের ওপর নির্ভর নাও করতে পারে। এখানেই প্যারামেট্রিক সমীকরণের কারিশমা।\u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\nএছাড়াও উচ্চতর নানান অ্যানালাইসিসে সমীকরণকে প্যারামেট্রিক করে নিলে কাজ করতে সুবিধা হয়।\u003C\/div\u003E\n\u003Cbr \/\u003E\nএবার আরেকটা উদাহরণ দেখা যাক।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n$$x^2+y^2=16$$\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\nএটাকে আমরা চাইলে $t=x^2$ ধরেও প্যারামেট্রিক করতে পারি। সেক্ষেত্রে সমীকরণ দুটো হবে এমন-\u003C\/div\u003E\n\u003Cul style=\"text-align: left;\"\u003E\n\u003Cli\u003E$x=\\sqrt{t}$\u003C\/li\u003E\n\u003Cli\u003E$y=\\sqrt{16-t}$\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Cbr \/\u003E\nএছাড়া আপনি অন্য\u0026nbsp; যে-কোনো কিছু ধরেও করতে পারেন। তবে কখনও কখনও বিশেষ কিছু উপায়ে করলে সমীকরণের মানে বোঝা সহজ হয়।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nত্রিকোণমিতি থেকে আমরা জানি, $sin^2t+cos^2=1$\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\nএখানে আমরা কোণের জন্যে $\\theta$ এর বদলে $t$ ব্যবহার করলাম। যেহেতু প্যারামেট্রিক সমীকরণে সাধারণত $t$ ব্যবহার করা হয়।\u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\nএখন আমরা চাইলে $x^2+y^2=16$ কে $sin^2t+cos^2=1$ এর মতো রূপ দিতে পারি। এভাবে-\u003C\/div\u003E\n\u003Cbr \/\u003E\n$$\\frac{x^2}{16}+\\frac{y^2}{16} = 1 $$\u003Cbr \/\u003E\nএটা থেকে-\u003Cbr \/\u003E\n$$(\\frac{x}{4})^2 + (\\frac{y}{4})^2=1$$\u003Cbr \/\u003E\n\u003Cdiv\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\nএটাকে এখন $sin^2t+cos^2=1$ এর মতো দেখাচ্ছে। তাহলে আমরা লিখতে পারি,\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n$\\frac{x}{4}=sint$ এবং $\\frac{y}{4}=cost$\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nমানে,\u003Cbr \/\u003E\n\u003Cul style=\"text-align: left;\"\u003E\n\u003Cli\u003E\u0026nbsp;\u0026nbsp;\u0026nbsp; $x=4 \\space sint$ \u003C\/li\u003E\n\u003Cli\u003E\u0026nbsp;\u0026nbsp;\u0026nbsp; $y=4 \\space cost$\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\nদেখেই বোঝা যাচ্ছে, এটা ৪ একক ব্যাসার্ধের একটি বৃত্ত। এখানে ৪ এর জায়গায় ১ থাকলে এটা হত\u0026nbsp; একক বৃত্ত (unit circle)। মানে ব্যাসার্ধ ১ এককের বৃত্ত।\u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\nদুই জায়গায়ই ৪ না হয়ে কম বেশি হলে এটা হয়ে যেত উপবৃত্তের\u0026nbsp; (ellipse) সমীকরণ। যেমন\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u0026nbsp;\u0026nbsp;\u0026nbsp; $x=3 \\space cost$\u003C\/li\u003E\n\u003Cli\u003E\u0026nbsp;\u0026nbsp;\u0026nbsp; $y=2 \\space sint$\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003C\/div\u003E\n\u003Cul\u003E\u003C\/ul\u003E\nআমরা দুটি চিত্রই এঁকে দেখতে পারি। আঁকব অবশ্যই\u0026nbsp;\u003Ca href=\"https:\/\/www.statmania.info\/2018\/02\/install-r.html\" target=\"_blank\"\u003ER দিয়ে\u003C\/a\u003E।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nপ্রথমে উপবৃত্ত\u0026nbsp;দেখা যাক।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt1\" onclick=\"SelectAll('txt1');\" rows=\"5\"\u003Et \u003C- seq(0, 2*pi, length.out = 100)\nx \u003C- 3*cos(t)\ny \u003C- 2*sin(t)\nplot(x,y, pch = 18, col = 'blue', ylim=c(-3,3), main = \"Ellipse\",\nxlab=\"x = 3cost\", ylab = \"y = 2sint\")\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctable align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\"\u003E\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd style=\"text-align: center;\"\u003E\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-l6WDH2F06pM\/XTYGs_WfbPI\/AAAAAAAAFJA\/C9ehPmRWUpU38ssXyrShEmRADgJ2SXpvQCLcBGAs\/s1600\/ellipse.png\" imageanchor=\"1\" style=\"margin-left: auto; margin-right: auto;\"\u003E\u003Cimg border=\"0\" data-original-height=\"560\" data-original-width=\"561\" height=\"636\" src=\"https:\/\/1.bp.blogspot.com\/-l6WDH2F06pM\/XTYGs_WfbPI\/AAAAAAAAFJA\/C9ehPmRWUpU38ssXyrShEmRADgJ2SXpvQCLcBGAs\/s640\/ellipse.png\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd class=\"tr-caption\" style=\"text-align: center;\"\u003Eচিত্র-০১ঃ প্যারামেট্রিক সমীকরণ থেকে আঁকা উপবৃত্ত \u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\u003C\/table\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\n\u003C\/div\u003E\n\u003Cbr \/\u003E\nএবার তাহলে বৃত্তটাও এঁকে ফেলি।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txt2\" onclick=\"SelectAll('txt2');\" rows=\"5\"\u003Et \u003C- seq(0, 2*pi, length.out = 100)\nx \u003C- cos(t)\ny \u003C- sin(t)\nplot(x,y, pch = 18, col = 'blue', main = \"Circle\",\nxlab=\"x = cost\", ylab = \"y = sint\")\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctable align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\"\u003E\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd style=\"text-align: center;\"\u003E\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-EpoXnCQOvuA\/XRkMYsgIgII\/AAAAAAAAFHI\/PfXfQnCAtA4OVmFP1GMngHWkk_qwzAupACLcBGAs\/s1600\/circle.png\" imageanchor=\"1\" style=\"margin-left: auto; margin-right: auto;\"\u003E\u003Cimg border=\"0\" data-original-height=\"560\" data-original-width=\"561\" height=\"638\" src=\"https:\/\/1.bp.blogspot.com\/-EpoXnCQOvuA\/XRkMYsgIgII\/AAAAAAAAFHI\/PfXfQnCAtA4OVmFP1GMngHWkk_qwzAupACLcBGAs\/s640\/circle.png\" width=\"640\" \/\u003E \u003C\/a\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd class=\"tr-caption\" style=\"text-align: center;\"\u003Eচিত্র-০২ঃ প্যারামেট্রিক সমীকরণ থেকে আঁকা বৃত্ত\u0026nbsp;\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\u003C\/table\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\nবলাই বাহুল্য, এভাবে আঁকাআঁকির জন্যে প্যারামেট্রিক সমীকরণ ব্যবহার না করলে মুশকিলে পড়তে হয় অনেক সময়।\u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\nএর \u003Ca href=\"https:\/\/www.statmania.info\/2018\/06\/floweR.html\" target=\"_blank\"\u003Eআগে একটি লেখায়\u003C\/a\u003E আমরা দারুণ দারুণ নকশার ডিজাইন দেখেছিলাম। ওখানেও কিন্তু প্যারামেট্রিক সমীকরণ কাজে লাগানো হয়েছিল।\u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Cdiv style=\"text-align: justify;\"\u003E\nএভাবেই প্যারামেট্রিক সমীকরণ আমাদের জীবনকে সহজ করে তোলে। নান্দনিকও কি নয়? (কী নান্দনিক, তাই না?)। এমন সুন্দর \u003Ca href=\"https:\/\/www.statmania.info\/2018\/06\/floweR.html\" target=\"_blank\"\u003Eসুন্দর ডিজাইন তো সে কথাই বলে\u003C\/a\u003E। পাশাপাশি আমাদেরকে ভিন্ন দৃষ্টিকোণ থেকে চিন্তা করতে শেখায়।\u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Cb\u003Eসূত্র\u003C\/b\u003E\u003Cbr \/\u003E\n১। \u003Ca href=\"https:\/\/betterexplained.com\/articles\/a-quick-intuition-for-parametric-equations\/\" target=\"_blank\"\u003Eবেটার এক্সপ্লেইন্ড\u003C\/a\u003E\u003Cbr \/\u003E\n২। \u003Ca href=\"https:\/\/www.youtube.com\/watch?v=57BiI_iD3-U\" target=\"_blank\"\u003Eখান অ্যাকাডেমি\u003C\/a\u003E\u003Cbr \/\u003E\n৩। \u003Ca href=\"https:\/\/www.youtube.com\/watch?v=ElTOIxxZJ7k\u0026amp;feature=youtu.be\" target=\"_blank\"\u003EStraighter Line\u003C\/a\u003E\u003Cbr \/\u003E\n৪। \u003Ca href=\"https:\/\/www.youtube.com\/watch?v=rTf5uXNW7Ys\u0026amp;t=14s\" target=\"_blank\"\u003EMrsDobbsMath\u003C\/a\u003E\u003Cbr \/\u003E\n৫। \u003Ca href=\"https:\/\/en.wikipedia.org\/wiki\/Parametric_equation\" target=\"_blank\"\u003Eউইকিপিডিয়া\u003C\/a\u003E\u003C\/div\u003E\n"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/www.statmania.info\/feeds\/6582418444734563351\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/www.statmania.info\/2019\/06\/parametric-equation.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/6582418444734563351"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/6582418444734563351"},{"rel":"alternate","type":"text/html","href":"https:\/\/www.statmania.info\/2019\/06\/parametric-equation.html","title":"প্যারামেট্রিক সমীকরণ কী কাজে লাগে? "}],"author":[{"name":{"$t":"আব্দুল্যাহ আদিল মাহমুদ"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/17462749408174996847"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"31","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEit8SKqHP7h2U7KFH71SRzI2ve5Vrmx4co6PDUV6gJtAmBpvVEYjNOhxhgOobEgy0DKuW-i1l3AMvAYEOsk1h4XDEer_Bb2FLmwEBQCfD3eJbx4HP7WzH3E_Ia6uG01yB5LJAwXSOlf0NqcsL4_l4VLWw8e394Xb8FZv40yeEQY5do8\/s220\/adil.jpg"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https:\/\/1.bp.blogspot.com\/-l6WDH2F06pM\/XTYGs_WfbPI\/AAAAAAAAFJA\/C9ehPmRWUpU38ssXyrShEmRADgJ2SXpvQCLcBGAs\/s72-c\/ellipse.png","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-1811735374964048282.post-8203162445974085202"},"published":{"$t":"2019-06-27T10:08:00.002-07:00"},"updated":{"$t":"2019-06-28T17:32:32.022-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"aesthetics"},{"scheme":"http://www.blogger.com/atom/ns#","term":"ds"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Mahmud"},{"scheme":"http://www.blogger.com/atom/ns#","term":"math"},{"scheme":"http://www.blogger.com/atom/ns#","term":"R"}],"title":{"type":"text","$t":"R প্রোগ্রামিং: ফিবোনাচি সংখ্যার বিস্ময়কর জগৎ "},"content":{"type":"html","$t":"\u003Cdiv dir=\"ltr\" style=\"text-align: left;\" trbidi=\"on\"\u003E\n১ ১ ২ ৩ ৫ ৮ ১৩ ...\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nদেখতে মনে হবে সাদামাটা কতগুলো সংখ্যা। অথচ কত অসাধারণ!\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nবুঝতেই পারছেন, পরপর দুটো সংখ্যা যোগ করে পাওয়া যায় পরের সংখ্যা। তো? এর মধ্যে আর এমন কী ই বা আছে?\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\n\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-dIIJVWOON8s\/XRToKad9cOI\/AAAAAAAAFE0\/DTxzp8EFWEssWQta50-B-LRZgEa6sjncwCLcBGAs\/s1600\/Snail-WA_edit02.jpg\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg border=\"0\" data-original-height=\"1232\" data-original-width=\"1600\" height=\"307\" src=\"https:\/\/1.bp.blogspot.com\/-dIIJVWOON8s\/XRToKad9cOI\/AAAAAAAAFE0\/DTxzp8EFWEssWQta50-B-LRZgEa6sjncwCLcBGAs\/s400\/Snail-WA_edit02.jpg\" width=\"400\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\n\u003Cbr \/\u003E\nআসলে গণিত যে সুন্দর হতে পারে তার অন্যতম ভাল উদাহরণ হলো এই সংখ্যাগুলো। নাম ফিবোনাচি সংখ্যা (Fibonacci number)।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nকী সূর্যমুখী ফুল, কী শামুকের খোলস, কোথায় নেই এই ধারার কারিশমা। কিন্তু কীভাবে এই ধারা লুকিয়ে আছে প্রকৃতিতে? সংক্ষেপে এটা দেখেই আমরা দেখব কীভাবে আমরা সংখ্যাগুলো জেনেরেট করব।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nআগেই দেখেছি, ফিবোনাচি সংখ্যাগুলো হলো যথাক্রমে\u0026nbsp; ১ ১ ২ ৩ ৫ ৮ ১৩ ২১ ---। অনেক সময় অবশ্য শুরুতে ০ কে রাখা হয়। মানে এভাবে- ০ ১ ১ ২ ৩ ---।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএবার একটা কাগজে ১ একক বাহু নিয়ে একটি বর্গ আঁকুন। পরের ফিবোনাচি সংখ্যাও ১। আগের বর্গের পাশে আরেকটি এক একক বাহুর বর্গ আঁকুন। এবার এ দুটি বর্গের ওপরে (নীচে আঁকলেও দুনিয়া ধ্বংস হবে না!) ২ এককের একটি বর্গ আঁকুন। এই তিনটি বর্গের পাশে আঁকুন ৩ এককের আরেকটি বর্গ। এভাবে এগিয়ে চলুন।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএভাবে যেতে থাকলে আমরা পাব নীচের আয়তক্ষেত্রটি।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctable align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\"\u003E\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd style=\"text-align: center;\"\u003E\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-CFjzljduc2Y\/XRTpgz58NXI\/AAAAAAAAFFA\/nVfCGFaq6JEnpGhKKjjgyC0mln9K5fR1QCLcBGAs\/s1600\/FibonacciBlocks.png\" imageanchor=\"1\" style=\"margin-left: auto; margin-right: auto;\"\u003E\u003Cimg border=\"0\" data-original-height=\"422\" data-original-width=\"681\" height=\"396\" src=\"https:\/\/1.bp.blogspot.com\/-CFjzljduc2Y\/XRTpgz58NXI\/AAAAAAAAFFA\/nVfCGFaq6JEnpGhKKjjgyC0mln9K5fR1QCLcBGAs\/s640\/FibonacciBlocks.png\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd class=\"tr-caption\" style=\"text-align: center;\"\u003Eফিবোনাচি সংখ্যা নিয়ে আঁকা বর্গ থেকে পাওয়া আয়ত।\u0026nbsp;\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\u003C\/table\u003E\n\u003Cbr \/\u003E\nএবার ক্রমান্বয়ে ছোট থেকে বড় বর্গের দিকে বর্গের কর্ণ বরাবর সর্পিল বাহু এঁকে যেতে থাকলেই আমরা পাব দারুণ একটি সর্পিল রেখা। আর হ্যাঁ, শামুকের খোলসে এমন সর্পিল নকশাই তো দেখি আমরা।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctable align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\"\u003E\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd style=\"text-align: center;\"\u003E\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-hHVvXwUgNqU\/XRT3LfyDVGI\/AAAAAAAAFFs\/oA5c3jOvw9MO9mBM2_0ugh9dDU2G1ys8wCLcBGAs\/s1600\/FibonacciSpiral.svg.png\" imageanchor=\"1\" style=\"margin-left: auto; margin-right: auto;\"\u003E\u003Cimg border=\"0\" data-original-height=\"645\" data-original-width=\"1024\" height=\"401\" src=\"https:\/\/1.bp.blogspot.com\/-hHVvXwUgNqU\/XRT3LfyDVGI\/AAAAAAAAFFs\/oA5c3jOvw9MO9mBM2_0ugh9dDU2G1ys8wCLcBGAs\/s640\/FibonacciSpiral.svg.png\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd class=\"tr-caption\" style=\"text-align: center;\"\u003Eফিবোনাচির মধ্যে লুকিয়ে থাকা নকশা\u0026nbsp;\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\u003C\/table\u003E\n\u003Ctable align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\"\u003E\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd\u003E\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-zWhBMh69sF8\/XRT1IMhN3-I\/AAAAAAAAFFY\/ndZc7LdjomIqL98TsHHdzrAV-8ZYAHrBwCLcBGAs\/s1600\/fibo_snail.jpg\" imageanchor=\"1\" style=\"margin-left: auto; margin-right: auto;\"\u003E\u003Cimg border=\"0\" data-original-height=\"900\" data-original-width=\"1600\" height=\"360\" src=\"https:\/\/1.bp.blogspot.com\/-zWhBMh69sF8\/XRT1IMhN3-I\/AAAAAAAAFFY\/ndZc7LdjomIqL98TsHHdzrAV-8ZYAHrBwCLcBGAs\/s640\/fibo_snail.jpg\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd class=\"tr-caption\" style=\"font-size: 12.8px;\"\u003Eছবি:\u0026nbsp;\u003Ca href=\"https:\/\/www.microsoft.com\/en-us\/p\/fibonacci-sequence-in-nature\/9pck43kq0ghw\" target=\"_blank\"\u003Eমাইক্রোসফট\u003C\/a\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\u003C\/table\u003E\n\u003Cbr \/\u003E\nসংখ্যাগুলোর হাজারো মজার মজার অ্যাপ্লিকেশন আছে। এর মধ্যে কিছু দেখতে পাবেন এই \u003Ca href=\"https:\/\/www.youtube.com\/watch?v=SjSHVDfXHQ4\u0026amp;t=7s\" target=\"_blank\"\u003Eভিডিওতে\u003C\/a\u003E।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএকটি মজার সম্পর্কের কথা না বললেই নয়। ফিবোনাচি সংখ্যার সাথে সম্পর্ক আছে আরেক মজার ধ্রুবক সোনালী অনুপাতের (Golden ratio)। অনুপাতটির মান হলো ১.৬১৮...। মজার ব্যাপার হলো ফিবোনাচি সংখ্যা থেকে এটি পাওয়া যায়।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nফিবোনাচি সংখ্যাগুলোতে আবার একটু চোখ বুলিয়ে নেই।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n১ ১ ২ ৩ ৫ ৮ ১৩ ২১ ৩৪ ৫৫ ৮৯ ১৪৪ ২৩৩ ৩৭৭ ---। ফিবোনাচি ধারার প্রতিটি সংখ্যাকে পরের সংখ্যা দিয়ে ভাগ দিতে থাকলে আমরা সোনালী অনুপাতের কাছাকাছি সংখ্যা পেতে থাকব।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\\begin{array}{|c|c|}\u003Cbr \/\u003E\n\\hline\u003Cbr \/\u003E\nFibonacci \\space number (x)\u0026amp; \\frac{x[i+1]}{x[i]} \\\\ \\hline\u003Cbr \/\u003E\n1 \u0026amp; 1.000 \\\\ \\hline\u003Cbr \/\u003E\n1 \u0026amp; 2.000 \\\\ \\hline\u003Cbr \/\u003E\n2 \u0026amp; 1.500 \\\\ \\hline\u003Cbr \/\u003E\n5 \u0026amp; 1.667 \\\\ \\hline\u003Cbr \/\u003E\n8 \u0026amp; 1.600 \\\\ \\hline\u003Cbr \/\u003E\n13 \u0026amp; 1.625 \\\\ \\hline\u003Cbr \/\u003E\n21 \u0026amp; 1.615 \\\\ \\hline\u003Cbr \/\u003E\n34 \u0026amp; 1.619 \\\\ \\hline\u003Cbr \/\u003E\n55 \u0026amp; 1.617 \\\\ \\hline\u003Cbr \/\u003E\n89 \u0026amp; 1.618 \\\\ \\hline\u003Cbr \/\u003E\n\\end{array}\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nবুঝতেই পারছেন, যত বড় সংখ্যা নিতে থাকব, এই ভাগফল সোনালী অনুপাতের তত কাছে যাবে। দারুণ সংখ্যা সোনালী অনুপাত সম্পর্কে আরও জানতে \u003Ca href=\"https:\/\/en.wikipedia.org\/wiki\/Golden_ratio\" target=\"_blank\"\u003Eউইকিপডিয়ার আর্টিকেলটা পড়ে নিন\u003C\/a\u003E।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএবার আমরা দেখবো, নান্দনিক এই সংখ্যাগুলো কীভাবে R প্রোগ্রামিং দিয়ে তৈরি করা যায়। কোডখানা নীচে দেওয়া হলো। ব্যবহারের সুবিদার্থে আমরা \u003Ci\u003Efibo\u003C\/i\u003E নামে একটি ফাংশন বানিয়ে নিচ্ছি। আর ভেতরে থাকছে একটি for loop। প্রথমে একটি ফাঁকা ভেক্টর বানিয়ে নেওয়া হলো। এরপর ধারার প্রথম দুটি সংখ্যা ১ হওয়ায় আমরা আগেই সেটা বসিয়ে দিলাম। বাকি সংখ্যাগুলো ক্রমান্বয়ে যোগ করে তৈরি করা হলো।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txtarea1\" onclick=\"SelectAll('txtarea1');\" rows=\"10\"\u003Efibo \u003C- function(n)\n {\n fibvals \u003C- c()\n fibvals[1] \u003C- 1\n fibvals[2] \u003C- 1\n for (i in 3:n) \n  { \n    fibvals[i] \u003C- fibvals[i-1]+fibvals[i-2]\n  }\n fibvals\n }\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএবার চাইলে আপনি \u003Ci\u003Efibo \u003C\/i\u003Eফাংশন দিয়ে ইচ্ছেমতো সাইজের ফিবোনাচি ধারা তৈরি করে নিতে পারেন।যেমন প্রথম ২০টি সংখ্যা পেতে চাইলে-\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txtarea2\" onclick=\"SelectAll('txtarea2');\" rows=\"1\"\u003Ex \u003C- fibo(20)\u003C\/textarea\u003E\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nওপরের সোনালী অনুপাতগুলো R দিয়েই বের করেছি। চাইলে কোডটা দেখে রাখতে পারেন।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txtarea3\" onclick=\"SelectAll('txtarea3');\" rows=\"7\"\u003Ex \u003C- fibo(20)\nx_cum_div \u003C- c()\nfor (j in 1:length(x)-1)\n {\n x_cum_div[j] \u003C- x[j+1]\/x[j]\n }\nx_cum_div\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nবিদায় নেবার আগে ফিবোনাচি ধারার আরও কিছু বাস্তব নমুনা দেখে নেওয়া যাক।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctable align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\"\u003E\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd style=\"text-align: center;\"\u003E\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-6pNJHPT5UTA\/XRT0CEeQDhI\/AAAAAAAAFFM\/W59ta8tNO0cmPZbkadfNMfIFlSg1xK-VgCLcBGAs\/s1600\/Cycas_circinalis_male_cone_in_Olomouc.jpg\" imageanchor=\"1\" style=\"margin-left: auto; margin-right: auto;\"\u003E\u003Cimg border=\"0\" data-original-height=\"1600\" data-original-width=\"1200\" height=\"640\" src=\"https:\/\/1.bp.blogspot.com\/-6pNJHPT5UTA\/XRT0CEeQDhI\/AAAAAAAAFFM\/W59ta8tNO0cmPZbkadfNMfIFlSg1xK-VgCLcBGAs\/s640\/Cycas_circinalis_male_cone_in_Olomouc.jpg\" width=\"480\" \/\u003E\u003C\/a\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd class=\"tr-caption\" style=\"text-align: center;\"\u003ECycas circinalis উদ্ভিদে। উদ্ভিদটি পাওয়া যায় দক্ষিণ ভারতে।\u0026nbsp;\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\u003C\/table\u003E\n\u003Cbr \/\u003E\n\u003Ctable align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\"\u003E\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd style=\"text-align: center;\"\u003E\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-svLW7wCmRn0\/XRT1gyy06gI\/AAAAAAAAFFg\/mRJEfouwkxokpPeWdCWP1S1S4fYupbZ_wCLcBGAs\/s1600\/fibo_flower.jpg\" imageanchor=\"1\" style=\"margin-left: auto; margin-right: auto;\"\u003E\u003Cimg border=\"0\" data-original-height=\"1037\" data-original-width=\"1600\" height=\"414\" src=\"https:\/\/1.bp.blogspot.com\/-svLW7wCmRn0\/XRT1gyy06gI\/AAAAAAAAFFg\/mRJEfouwkxokpPeWdCWP1S1S4fYupbZ_wCLcBGAs\/s640\/fibo_flower.jpg\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd class=\"tr-caption\" style=\"text-align: center;\"\u003Eছবি: \u003Ca href=\"http:\/\/www.phillipsnaturalworld.com\/home\/fibonacci-numbers\" target=\"_blank\"\u003Ephillipsnaturalworld\u003C\/a\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\u003C\/table\u003E\n\u003Ctable align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\"\u003E\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd style=\"text-align: center;\"\u003E\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-0WGs8_jMfrc\/XRT5AZq4wZI\/AAAAAAAAFF4\/Ah0BCSpqZOU-7RTFpMKwveJmg_4bpJwAQCLcBGAs\/s1600\/fibo3.jpg\" imageanchor=\"1\" style=\"margin-left: auto; margin-right: auto;\"\u003E\u003Cimg border=\"0\" data-original-height=\"1456\" data-original-width=\"1600\" height=\"580\" src=\"https:\/\/1.bp.blogspot.com\/-0WGs8_jMfrc\/XRT5AZq4wZI\/AAAAAAAAFF4\/Ah0BCSpqZOU-7RTFpMKwveJmg_4bpJwAQCLcBGAs\/s640\/fibo3.jpg\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd class=\"tr-caption\" style=\"text-align: center;\"\u003E\u003Ctable align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\"\u003E\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd class=\"tr-caption\" style=\"font-size: 12.8px;\"\u003Eছবি:\u0026nbsp;\u003Ca href=\"http:\/\/www.phillipsnaturalworld.com\/home\/fibonacci-numbers\" target=\"_blank\"\u003Ephillipsnaturalworld\u003C\/a\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\u003C\/table\u003E\n\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\u003C\/table\u003E\n\u003Cb\u003E\u003Cbr \/\u003Eআরও পড়ুন\u003C\/b\u003E\u003Cbr \/\u003E\n☛ \u003Ca href=\"https:\/\/www.statmania.info\/2018\/06\/floweR.html\" target=\"_blank\"\u003ER প্রোগ্রামিং: বাহারি ফুলের ডিজাইন\u003C\/a\u003E\u003Cbr \/\u003E\n☛\u0026nbsp;\u003Ca href=\"https:\/\/www.statmania.info\/2016\/09\/5-numbers-relation.html\" target=\"_blank\"\u003Eগণিতের সবচেয়ে সুন্দর সমীকরণ\u0026nbsp;\u003C\/a\u003E\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cb\u003Eসূত্র\u003C\/b\u003E\u003Cbr \/\u003E\n১। \u003Ca href=\"https:\/\/www.r-bloggers.com\/example-7-1-create-a-fibonacci-sequence\/\" target=\"_blank\"\u003ER-bloggers\u003C\/a\u003E\u003Cbr \/\u003E\n২। উইকপিডিয়া: \u003Ca href=\"https:\/\/en.wikipedia.org\/wiki\/Fibonacci_number\" target=\"_blank\"\u003EFibonacci number\u003C\/a\u003E\u003Cbr \/\u003E\n৩। ইউটিউব: \u003Ca href=\"https:\/\/www.youtube.com\/watch?v=SjSHVDfXHQ4\u0026amp;t=7s\" target=\"_blank\"\u003Eটেড টকের একটি সিগমেন্ট\u003C\/a\u003E\u0026nbsp;\u003C\/div\u003E\n"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/www.statmania.info\/feeds\/8203162445974085202\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/www.statmania.info\/2019\/06\/fibo-r.html#comment-form","title":"1 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/8203162445974085202"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/8203162445974085202"},{"rel":"alternate","type":"text/html","href":"https:\/\/www.statmania.info\/2019\/06\/fibo-r.html","title":"R প্রোগ্রামিং: ফিবোনাচি সংখ্যার বিস্ময়কর জগৎ "}],"author":[{"name":{"$t":"আব্দুল্যাহ আদিল মাহমুদ"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/17462749408174996847"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"31","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEit8SKqHP7h2U7KFH71SRzI2ve5Vrmx4co6PDUV6gJtAmBpvVEYjNOhxhgOobEgy0DKuW-i1l3AMvAYEOsk1h4XDEer_Bb2FLmwEBQCfD3eJbx4HP7WzH3E_Ia6uG01yB5LJAwXSOlf0NqcsL4_l4VLWw8e394Xb8FZv40yeEQY5do8\/s220\/adil.jpg"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https:\/\/1.bp.blogspot.com\/-dIIJVWOON8s\/XRToKad9cOI\/AAAAAAAAFE0\/DTxzp8EFWEssWQta50-B-LRZgEa6sjncwCLcBGAs\/s72-c\/Snail-WA_edit02.jpg","height":"72","width":"72"},"thr$total":{"$t":"1"}},{"id":{"$t":"tag:blogger.com,1999:blog-1811735374964048282.post-4265278800257797748"},"published":{"$t":"2019-06-27T07:42:00.001-07:00"},"updated":{"$t":"2019-06-28T17:33:26.644-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"beginner"},{"scheme":"http://www.blogger.com/atom/ns#","term":"ds"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Linux"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Mahmud"}],"title":{"type":"text","$t":"লিনাক্স কমান্ড লাইন: হাতেখড়ি "},"content":{"type":"html","$t":"\u003Cdiv dir=\"ltr\" style=\"text-align: left;\" trbidi=\"on\"\u003E\nকমান্ড লাইন ব্যবহার করলে আপনার ডিভাইসের নিয়ন্ত্রণ থাকবে আপনার হাতে। ছোটভাই তুহিনের মতে তো কমান্ড লাইন দিয়ে কম্পিউটার কেন, মহাকাশ পর্যন্ত কাঁপিয়ে দেওয়া যাবে।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nডেটা সায়েন্সের কাজ করার জন্য কমান্ড লাইনে অনেকগুলো দারুণ টুল আছে। এছাড়া ভার্সন কন্ট্রোল ব্যবহার করতে গেলেও কমান্ড লাইনের কিছু প্রাথমিক কোড জানতে হয়। এমন কিছু কমান্ড জেনে নেওয়া যাক।\u003Cbr \/\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\n\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-Sjh1O2m9Qqs\/XRTUPFVp4PI\/AAAAAAAAFEo\/2DlZ9TVl8psVJerGWK-Kh_6TP1gWUJn_gCLcBGAs\/s1600\/linux-os.jpg\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg border=\"0\" data-original-height=\"768\" data-original-width=\"1024\" height=\"300\" src=\"https:\/\/1.bp.blogspot.com\/-Sjh1O2m9Qqs\/XRTUPFVp4PI\/AAAAAAAAFEo\/2DlZ9TVl8psVJerGWK-Kh_6TP1gWUJn_gCLcBGAs\/s400\/linux-os.jpg\" width=\"400\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Cb\u003Eআরও পড়ুন\u003C\/b\u003E\u003Cbr \/\u003E\n☛\u0026nbsp;\u003Ca href=\"https:\/\/www.statmania.info\/2019\/05\/why-linux-is-great.html\" target=\"_blank\"\u003Eকেন লিনাক্স ব্যবহার করবেন?\u003C\/a\u003E\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n১। \u003Cb\u003Epwd\u003C\/b\u003E\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএই কমান্ড আপনাকে বলবে, এই মূহূর্তে আপনি কোন ডিরেক্টরিতে আছেন। \u003Ca href=\"https:\/\/www.statmania.info\/search\/label\/Linux?max-results=9\" target=\"_blank\"\u003ER\u003C\/a\u003E-এ আমরা এটা জানি getwd() কমান্ড দিয়ে। pwd হলো present working directory এর সংক্ষিপ্ত রূপ।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n২। \u003Cb\u003Els\u003C\/b\u003E\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএই কমান্ড আপনাকে জানিয়ে দেবে, আপনার বর্তমান ওয়ার্কিং ডিরেক্টরিতে কী কী কন্টেন্ট আছে। হোক সেটা ফাইল, বা অন্য ফোল্ডার বা ডিরেক্টরি।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n৩। \u003Cb\u003Eman\u003C\/b\u003E\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nমনে করুন, আপনার একটা কমান্ডের নাম মনে আছে। কিন্তু ভুলে গেছেন কীভাবে ব্যবহার করবেন । লিনাক্স কমান্ড লাইনে প্রায় প্রতিটি টুলের সাথেই নানান অপশন আছে। অপশনগুলো বসাতে হয় সাধারণত কমান্ডের পর একটি হাইফেন (-) দিয়ে। যেমন ওপরের ls কমান্ডের সাথে -c, -h, -m বা -t ইত্যাদি নানান অপশন ব্যবহার করা যায়। নীচের কমান্ড আপনাকে ফাইল ও ডিরেক্টরির লিস্ট দেবে। তবে সর্বশেষ যে ফাইল বা ফোল্ডার নিয়ে কাজ করেছেন সেটার নাম আগে থাকবে।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txtarea1\" onclick=\"SelectAll('txtarea1');\" rows=\"1\"\u003Els -t\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএখন, এই অপশনগুলো আপনি কীভাবে জানবেন? ভয় নেই। এর জন্য গুগোল করতে হবে না। জাস্ট টাইপ করুন man ls। অথবা যে টুল সম্পর্কে জানতে চান man লিখে সেই কমান্ড লিখে এন্টার চাপুন। চাইলে জেনে রাখুন, man আসলে ম্যানুয়াল (manual) এর সংক্ষিপ্ত রূপ।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n৪। \u003Cb\u003Ecd\u003C\/b\u003E\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nমনে করুন, আপনি এখন যে ডিরেক্টরিতে আছেন, সেটা থেকে অন্য কোথাও যেতে চান। তাহলেই আপনার লাগবে cd কমান্ড। শুধু cd লিখে এন্টার চাপলে আপনি চলে যাবেন হোম ডিরেক্টরিতে। আবার cd .. আপনাকে নিয়ে যাবে আগের ডিরেক্টরিতে। cd মানে change directory।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nআবার ধরুন এখন যে ফোল্ডারে আছেন তাতে work নামে আরেকটি ফোল্ডার আছে। এতে যেতে চাইলে কমান্ড হবে-\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txtarea2\" onclick=\"SelectAll('txtarea2');\" rows=\"1\"\u003Ecd work\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nআবার work ডিরেক্টরিতে যদি আবার recent নামে আরেকটি ফোল্ডার থাকে, আর আপনি সেখানেই যেতে চান, তবে-\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txtarea3\" onclick=\"SelectAll('txtarea3');\" rows=\"1\"\u003Ecd work\/recent\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n৫। \u003Cb\u003Etouch\u003C\/b\u003E\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nকমান্ডটাকে চাইলে জটিল করেও বলা যায়। তবে একেবারে সহজ করে বললে এটার কাজ হলো ফাঁকা ফাইল তৈরি করা। ফাইল তৈরির সময় আপনার হাতে কোনো ডেটা না থাকলে এই কমান্ড দিয়ে ফাইল বানিয়ে রেখে দিতে পারেন। নীচের কমান্ড mytext.txt নামে একটি ফাইল তৈরি করবে।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txtarea4\" onclick=\"SelectAll('txtarea4');\" rows=\"1\"\u003Etouch mytext.txt\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nফাইলটা অবশ্যই আপনার ওয়ার্কিং ডিরেক্টরিতে তৈরি হবে। ধরুন linux ফোল্ডারের ভেতরে ne.txt নামে ফাইল তৈরি করবেন। তাহলে এই কমান্ড-\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txtarea5\" onclick=\"SelectAll('txtarea5');\" rows=\"1\"\u003Etouch mytext.txt\u003C\/textarea\u003E\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএখন চাইলে আপনি\u0026nbsp; ls কমান্ড দিয়ে চেক করে নিতে পারেন এই নামে ফাইল আছে কি না।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n৬। \u003Cb\u003Enano\u003C\/b\u003E\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nশুধু ফাইল তৈরি করে বসে থাকলে তো হবে না। ফাইলে কিছু তথ্যও তো রাখা চাই। nano কমান্ড আপনাকে ফাইল ইডিট করার সুযোগ দেবে। ঠিক touch কমান্ডের মতোই nano লিখে ফাইলের নাম path লিখুন।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nধরুন, আমাদের ওয়ার্কিং ডিরেক্টরিতে employee.txt নামে একটি ফাইল আছে। তাহলে একে ইডিট করতে-\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txtarea6\" onclick=\"SelectAll('txtarea6');\" rows=\"1\"\u003Enano employee.txt\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nফাইলটা যদি আগে থেকে না থাকে, তবে এই কমান্ডের মাধ্যমে একই সাথে ফাইলটা তৈরিও হবে আবার সাথে সাথে ইডিট মুডে চলে যাবে। ধরুন, আমরা ফাইলটাতে নীচের তথ্যগুলো রাখব। মাউসে রাইট ক্লিক করলেই তথ্যগুলো পেস্ট হয়ে যাবে।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n100\u0026nbsp; Sultan\u0026nbsp; Manager\u0026nbsp; \u0026nbsp; Sales\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;5,000\u003Cbr \/\u003E\n200\u0026nbsp; Niaz\u0026nbsp; Developer\u0026nbsp; Technology\u0026nbsp; 5,500\u003Cbr \/\u003E\n300\u0026nbsp; Abir Sysadmin\u0026nbsp; \u0026nbsp;Technology\u0026nbsp; 7,000\u003Cbr \/\u003E\n400\u0026nbsp; Riyad\u0026nbsp; \u0026nbsp;Manager\u0026nbsp; \u0026nbsp; Marketing\u0026nbsp; \u0026nbsp;9,500\u003Cbr \/\u003E\n500\u0026nbsp; Kabir\u0026nbsp; DBA\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Technology\u0026nbsp; 6,000\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nকিছু লিখে বা পেস্ট করে সেভ করতে চাপুন: ctrl + o। এবার এন্টার চেপে কনফার্ম করুন। ইডিট মুড থেকে বের হয়ে আসতে চাপুন ctrl + x।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n৭। \u003Cb\u003Ecat\u003C\/b\u003E\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএবার আমাদের কাছে employee.txt নামে ফাইল আছে। আমরা এর সব কন্টেন্ট দেখতে চাই। অথবা অন্য কন্টেন্ট জোড়া দিতে চাই। তাহলেই আপনার লাগবে cat কমান্ড।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txtarea7\" onclick=\"SelectAll('txtarea7');\" rows=\"1\"\u003Ecat employee.txt\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\n\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-GN97q3DnJFg\/XRS56pe8_lI\/AAAAAAAAFEQ\/ZPI1tJh4K2oN0C8R38C4SEckJR9dPNKGACLcBGAs\/s1600\/linux_cat.PNG\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg border=\"0\" data-original-height=\"129\" data-original-width=\"484\" height=\"106\" src=\"https:\/\/1.bp.blogspot.com\/-GN97q3DnJFg\/XRS56pe8_lI\/AAAAAAAAFEQ\/ZPI1tJh4K2oN0C8R38C4SEckJR9dPNKGACLcBGAs\/s400\/linux_cat.PNG\" width=\"400\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\n\u003Cbr \/\u003E\nআরও বিস্তারিত জানতে লিখুন man cat।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n৮। \u003Cb\u003Eecho\u003C\/b\u003E\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএটার সাধারণ ব্যবহার হলো টার্মিনাল কিছু প্রিন্ট করতে। যেমন Hello world প্রিন্ট করতে-\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txtarea8\" onclick=\"SelectAll('txtarea8');\" rows=\"1\"\u003Eecho \"Hello World\"\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nতবে এটা দিয়ে আরও দারুণ দারুণ কাজও করা যায়। যেমন nano ব্যবহার না করেই কোনো ফাইলে টেক্সট যুক্ত করতে চাইলে echo ব্যবহার করতে পারেন।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txtarea9\" onclick=\"SelectAll('txtarea9');\" rows=\"1\"\u003Eecho \"300 Miraz Officer Technology 6500\" \u003E\u003E employee.txt\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএই কমান্ড echo এর ভেতরের লাইনটি\u0026nbsp;employee.txt ফাইলের শেষে যুক্ত করবে। এখানে শুধু '\u0026gt;' চিহ্ন ব্যবহার করলে আগের কন্টেন্ট মুছে যাবে। এটা ব্যবহার করতে হবে সাবধানে। আসলে এটা কাজে লাগে আগে থেকে ঐ নামে কোনো ফাইল না থাকলে। আগে থেকে ফাইল থাকলে তার শেষে নতুন তথ্য যুক্ত করতে সবসময় '\u0026gt;\u0026gt;' ব্যবহার করুন।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএই কমান্ডকে অন্য কমান্ডের ইনপুট হিসেবেও ব্যবহার করা যায়। যেমন, bc কমান্ড দিয়ে আমরা হিসাব-নিকাশ করি। দুটো সংখ্যা যোগ করা যায় এভাবে-\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txtarea10\" onclick=\"SelectAll('txtarea10');\" rows=\"1\"\u003Eecho \"17.9+9.67\" | bc\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএখানে '|' কে বলা হয় পাইপ অপারেটর। এই কমান্ড দিয়ে এক কমান্ডের রেজাল্টকে আরেক কমান্ডের ইনপুট হিসেবে ব্যবহার করা যায়।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n৯। \u003Cb\u003Emkdir\u003C\/b\u003E\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএটা আসলে make directory এর সংক্ষিপ্ত রূপ। বুঝতেই পারছেন, নতুন ডিরেক্টরি বানাতে এটা ব্যবহার করবেন। নীচের কোড ওয়ার্কিং ডিরেক্টরিতে linux নামে ফোল্ডার বানাবে।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txtarea11\" onclick=\"SelectAll('txtarea11');\" rows=\"1\"\u003Emkdir linux\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nবানানো হয়ে গেলে অবশ্যই ls কমান্ড দিয়ে চেক করে নিতে পারেন।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n১০। \u003Cb\u003Erm\u003C\/b\u003E\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nফাইল বানালে ডিলিট করাও দরকার হবেই। এইজন্যেই remove এর সংক্ষিপ্ত রূপ rm। তবে directory ডিলিট করতে হলে কমান্ড হবে rmdir। নীচে আমরা এই প্রসেসটা বিস্তারিত দেখাচ্ছি-\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txtarea12\" onclick=\"SelectAll('txtarea12');\" rows=\"9\"\u003Emkdir demo\ncd demo\nls\ntouch text.txt\nls\nrm text.txt\nmkdir demo2\nls\nrmdir demo2\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nবোঝার জন্যে এক লাইন করে করে রান করুন।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\n\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-h1kGG-5ePmc\/XRTRrvXcudI\/AAAAAAAAFEc\/of7nxAM8f5Ephy77r-tw_EYCPlrxol3KACLcBGAs\/s1600\/linux_dir.PNG\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg border=\"0\" data-original-height=\"191\" data-original-width=\"475\" height=\"160\" src=\"https:\/\/1.bp.blogspot.com\/-h1kGG-5ePmc\/XRTRrvXcudI\/AAAAAAAAFEc\/of7nxAM8f5Ephy77r-tw_EYCPlrxol3KACLcBGAs\/s400\/linux_dir.PNG\" width=\"400\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\n\u003Cbr \/\u003E\n১১। \u003Cb\u003Epasswd\u003C\/b\u003E\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nপাসওয়ার্ড চেঞ্জ করতে ও নতুন পাসওয়ার্ড সেট-আপ করতে।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n১২। \u003Cb\u003Emv\u003C\/b\u003E\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএটা ব্যবহার করবেন ফাইল স্থানান্তর করতে। আবার মজার ব্যাপার হলো, ফাইল রিনেইম করতেও এই কমান্ড ব্যবহার করা যায়। মনে করি, আমাদের ওয়ার্কিং ডিরেক্টরিতে sum.txt নামে একটি ফাইল আছে। একে হোম ডিরেক্টরিতে নেব এভাবে-\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txtarea13\" onclick=\"SelectAll('txtarea13');\" rows=\"1\"\u003Emv sum.txt ~\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nফাইল রিনেইম করা তো আরও সহজ।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txtarea14\" onclick=\"SelectAll('txtarea14');\" rows=\"1\" style=\"width: 100%;\"\u003Emv sum.txt sum.docx\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nআপাতত আমরা এখানেই থামছি। আরও অ্যাডভান্সড লেভেলে যাবার আগে নীচের নিবন্ধগুলো পড়ে নিতে পারেন।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u0026nbsp;☛\u0026nbsp;\u003Ca href=\"https:\/\/www.statmania.info\/2019\/05\/linux-text-mining.html\" target=\"_blank\"\u003Eলিনাক্স ও ডেটা সায়েন্স: একটি সরল টেক্সট মাইনিং\u003C\/a\u003E\u003Cbr \/\u003E\n\u0026nbsp;☛\u0026nbsp;\u003Ca href=\"https:\/\/www.statmania.info\/2019\/05\/linux-tr.html\" target=\"_blank\"\u003Eলিনাক্স ও ডেটা সায়েন্স: tr কমান্ডের কারিশমা\u003C\/a\u003E\u003Cbr \/\u003E\n\u0026nbsp;☛\u0026nbsp;\u003Ca href=\"https:\/\/www.statmania.info\/2019\/06\/linux-text-rm.html\" target=\"_blank\"\u003Eলিনাক্স টেক্সট প্রসেসিং: নির্দিষ্ট প্যাটার্নের পর সব ডিলিট করুন সহজে\u003C\/a\u003E\u003C\/div\u003E\n"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/www.statmania.info\/feeds\/4265278800257797748\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/www.statmania.info\/2019\/06\/linux-intro.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/4265278800257797748"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/4265278800257797748"},{"rel":"alternate","type":"text/html","href":"https:\/\/www.statmania.info\/2019\/06\/linux-intro.html","title":"লিনাক্স কমান্ড লাইন: হাতেখড়ি "}],"author":[{"name":{"$t":"আব্দুল্যাহ আদিল মাহমুদ"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/17462749408174996847"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"31","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEit8SKqHP7h2U7KFH71SRzI2ve5Vrmx4co6PDUV6gJtAmBpvVEYjNOhxhgOobEgy0DKuW-i1l3AMvAYEOsk1h4XDEer_Bb2FLmwEBQCfD3eJbx4HP7WzH3E_Ia6uG01yB5LJAwXSOlf0NqcsL4_l4VLWw8e394Xb8FZv40yeEQY5do8\/s220\/adil.jpg"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https:\/\/1.bp.blogspot.com\/-Sjh1O2m9Qqs\/XRTUPFVp4PI\/AAAAAAAAFEo\/2DlZ9TVl8psVJerGWK-Kh_6TP1gWUJn_gCLcBGAs\/s72-c\/linux-os.jpg","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-1811735374964048282.post-6874938500935954957"},"published":{"$t":"2019-06-15T11:25:00.000-07:00"},"updated":{"$t":"2019-06-29T00:32:35.404-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"comparison"},{"scheme":"http://www.blogger.com/atom/ns#","term":"ds"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Mahmud"},{"scheme":"http://www.blogger.com/atom/ns#","term":"python"},{"scheme":"http://www.blogger.com/atom/ns#","term":"R"}],"title":{"type":"text","$t":"ডেটা সায়েন্সের জন্য R বনাম পাইথন"},"content":{"type":"html","$t":"\u003Cdiv dir=\"ltr\" style=\"text-align: left;\" trbidi=\"on\"\u003E\nকে সেরা? পাইথন একটি জেনারেল-পারপাজ ল্যাংগুয়েজ হওয়ায় সার্বিকভাবে অবশ্যই পাইথনই সেরা। কইম্পিউটার প্রোগ্রামিং এর জগতের সবকিছুই পাইথন দিয়ে করা যায়। তাই C, C++, Java প্রোগ্রামিংগুলো ক্রমাগত\u0026nbsp;পাইথনের পেছনে পড়ে যাচ্ছে।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nতবে এখানে আমরা কথা বলছি ডেটা সায়েন্স নিয়ে। যেখানে R-কে বলা হয় লিংগুয়া ফ্র্যাংক্যা। মানে সহজাত বা কমন ভাষা। তবে পাইথন এখানেও অন্যতম সেরা ল্যাংগুয়েজ।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\n\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-iFp5IixXOYA\/XQ0g83jP8lI\/AAAAAAAAFD4\/_OQsOu3ESfIR4b_MkdvFijLj9ZawAFVigCLcBGAs\/s1600\/r-vs-python.jpg\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg border=\"0\" data-original-height=\"363\" data-original-width=\"701\" height=\"206\" src=\"https:\/\/1.bp.blogspot.com\/-iFp5IixXOYA\/XQ0g83jP8lI\/AAAAAAAAFD4\/_OQsOu3ESfIR4b_MkdvFijLj9ZawAFVigCLcBGAs\/s400\/r-vs-python.jpg\" width=\"400\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nদুটোর মধ্যে কে সেরা তা আলোচনার আগে আরেকটা জিনিস বুঝতে হবে। এই আলোচনা আসলে কতটা গুরুত্বপূর্ণ। ডেটা সায়েন্সে প্রোগ্রামিং হলো একটা অংশ। তারও আগে গুরুত্বপূর্ণ হলো থিওরি জানা, কোন থিওরি অ্যাপ্লাই করতে হবে সেটা জানা ইত্যাদি। তাই জানা থিওরি অ্যাপ্লাই করছেন কাকে দিয়ে সেটা অনেক ক্ষেত্রেই গুরুত্বপূর্ণ কিছু নয়।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nওয়েবে এই দুটো ল্যাংগুয়েজ নিয়ে প্রচুর আলোচনা\/তুলনা আছে। যার উল্লেখযোগ্য একটা অংশ অনিরপেক্ষ। দেখা যাক, আমরা কতটা অনিরপেক্ষ থাকতে পারি।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cb\u003Eশেখা\u003C\/b\u003E\u003Cbr \/\u003E\nঅনেকেই বলেন পাইথন R এর চেয়ে সহজে শেখা যায়। অথচ পাইথনে ডেটা সায়েন্সের কাজ শুরু করতে গেলেই অনেকগুলো প্যাকেজ শিখতে হবে। এই যেমন\u0026nbsp;NumPy, Pandas, matplotlib। অথচ R-এ একজন সাধারণ মানুষও মুহুর্তের মধ্যেই জটিল জটিল সব কাজ করা শুরু করে দিতে পারবেন। ম্যাট্রিক্স ক্যালকুলেশন, প্লটিং, মডেলিং ইত্যাদি।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cb\u003Eপ্যাকেজ\u003C\/b\u003E\u003Cbr \/\u003E\nR প্যাকেজের মূল রিপো হলো CRAN। যার পূর্ণরূপ কম্প্রিহেন্সিভ R আর্কাইভ নেটওয়ার্ক। এই আর্টিকেল লেখার সময় \u003Ca href=\"https:\/\/cran.r-project.org\/web\/packages\/index.html\" target=\"_blank\"\u003Eএখানে প্যাকেজ সংখ্যা\u003C\/a\u003E ১৪৪৪০। এছাড়াও গিটহাব ও বায়োকন্ডাক্টর (বায়োইনফরমেটিক্স নিয়ে) ওয়েবসাইটে প্রচুর প্যাকেজ আছে।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nঅন্য দিকে পাইথন প্যাকেজের সংখ্যা প্রায় ১ লাখ ৮৩ হাজার। তবে মনে রাখতে হবে, সব কিন্তু ডেটা সায়েন্সের জন্য নয়। ডেটা সায়েন্সের কথা চিন্তা করলে আসলে পাইথন অনেক পিছিয়ে আছে। বেশিরভাগ কাজ করতে গেলেই আপনি R-এ রেডিমেড প্যাকেজ পেয়ে যাবেন। পাইথনে অনেক সময়ই পাবেন না সেটা।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nআর কাঙ্খিত প্যাকেজ খুঁজেও পাওয়াটাও পাইথনে R-এর চেয়ে বেশ কঠিন।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cb\u003Eকোডের পরিচ্ছন্নতা\u003C\/b\u003E\u003Cbr \/\u003E\nএটা অবশ্য একজনের কাছে এক রকম ভাল লাগে। তবে অন্য প্রায় সব ল্যাংগুয়েজের চেয়ে পাইথনের কোডগুলো খুব বেশি পরিচ্ছন। ব্র্যাকেট-ট্যাকেটের ব্যবহার খুব কম বা না করেই কাজ চালিয়ে নেওয়া যায়।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txtarea\" onclick=\"SelectAll('txtarea');\" rows=\"3\"\u003Eif x \u003E y: \n   z = 5\n   w = 8\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nকিন্তু একই রকম কাজ R-এ একটু কঠিন।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txtarea2\" onclick=\"SelectAll('txtarea2');\" rows=\"5\"\u003Eif (x \u003E y)\n{ \n   z = 5\n   w = 8\n}\u003C\/textarea\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nতবে সেটা নতুন নতুন কিছুদিনই। শেখা হয়ে গেলে এটা বড় ব্যাপার না। তবে বড় কাজের ক্ষেত্রে এটা অনেক সময় বড় ব্যাপার হয়ে ওঠে আবার।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cb\u003Eপরিসংখ্যানিক নির্ভুলতা\u003C\/b\u003E\u003Cbr \/\u003E\nR তৈরিই হয়েছে পরিসংখ্যানের কাজের জন্যে। অনেককেই দেখা যায়, পরিসংখ্যান পারুন বা না পারুন, মেশিন লার্নিং নিয়ে মেতে থাকেন। পরিসংখ্যানকে অবজ্ঞা করতেও জুড়ি নেই এদের। সেদিন একজনকে বলতে শোনা গেল, ডেটা ট্রান্সফর্ম করে গড় ০ আর ভেদাঙ্ক (Variance) ১ করলে নাকি নরমাল (গাউসিয়ান) ডিস্ট্রিবিউশন হয়। R-এ আপনি দেখতে পাবেন পরিসংখ্যানবিদদের গড়া থিওরির নিজেদের দ্বারাই ইমপ্লিমেন্টেশন। আস্থার জায়গাটা এখানে বেশি।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nR-কে বলা হয়,\u003Cbr \/\u003E\n\u003Cblockquote class=\"tr_bq\"\u003E\n\u003Cspan style=\"background-color: white; color: #24292e; font-family: , \u0026quot;blinkmacsystemfont\u0026quot; , \u0026quot;segoe ui\u0026quot; , \u0026quot;helvetica\u0026quot; , \u0026quot;arial\u0026quot; , sans-serif , \u0026quot;apple color emoji\u0026quot; , \u0026quot;segoe ui emoji\u0026quot; , \u0026quot;segoe ui symbol\u0026quot;; font-size: 16px;\"\u003ER is written\u0026nbsp;\u003C\/span\u003E\u003Cem style=\"background-color: white; box-sizing: border-box; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, \u0026quot;Segoe UI\u0026quot;, Helvetica, Arial, sans-serif, \u0026quot;Apple Color Emoji\u0026quot;, \u0026quot;Segoe UI Emoji\u0026quot;, \u0026quot;Segoe UI Symbol\u0026quot;; font-size: 16px;\"\u003Eby\u003C\/em\u003E\u003Cspan style=\"background-color: white; color: #24292e; font-family: , \u0026quot;blinkmacsystemfont\u0026quot; , \u0026quot;segoe ui\u0026quot; , \u0026quot;helvetica\u0026quot; , \u0026quot;arial\u0026quot; , sans-serif , \u0026quot;apple color emoji\u0026quot; , \u0026quot;segoe ui emoji\u0026quot; , \u0026quot;segoe ui symbol\u0026quot;; font-size: 16px;\"\u003E\u0026nbsp;statisticians,\u0026nbsp;\u003C\/span\u003E\u003Cem style=\"background-color: white; box-sizing: border-box; color: #24292e; font-family: -apple-system, BlinkMacSystemFont, \u0026quot;Segoe UI\u0026quot;, Helvetica, Arial, sans-serif, \u0026quot;Apple Color Emoji\u0026quot;, \u0026quot;Segoe UI Emoji\u0026quot;, \u0026quot;Segoe UI Symbol\u0026quot;; font-size: 16px;\"\u003Efor\u003C\/em\u003E\u003Cspan style=\"background-color: white; color: #24292e; font-family: , \u0026quot;blinkmacsystemfont\u0026quot; , \u0026quot;segoe ui\u0026quot; , \u0026quot;helvetica\u0026quot; , \u0026quot;arial\u0026quot; , sans-serif , \u0026quot;apple color emoji\u0026quot; , \u0026quot;segoe ui emoji\u0026quot; , \u0026quot;segoe ui symbol\u0026quot;; font-size: 16px;\"\u003E\u0026nbsp;statisticians\u003C\/span\u003E\u0026nbsp;\u003C\/blockquote\u003E\nফলে R-এর কম্পিউটেশন বেশিরভাগ ক্ষেত্রেই নির্ভরযোগ্য হাত থেকে আসা।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cb\u003Eমেশিন লার্নিং\u003C\/b\u003E\u003Cbr \/\u003E\nএখানে পাইথনকে একটু বেশি কৃতিত্ব দিতে হয়। সাধারণত R বনাম পাইথনের আরেক নাম হলো পরিসংখ্যান বনাম কম্পিউটার সায়েন্স (CS)। মেশিন লার্নিং এর নিউরাল নেটওয়ার্কে (NN) CS-এর বেশি অবদান থাকায় পাইথনে NN সহজে করা যায়। keras নিয়ে RStudio এর কাজের কল্যাণে R-ও পিছিয়ে নেই অবশ্য।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nঅন্য দিকে মেশিন লার্নিং এর র‍্যান্ডম ফরেস্ট অ্যালগোরিদম নিয়ে পরিসংখ্যানের লোকেরা বেশি কাজ করেছেন। এ ক্ষেত্রে তাই R এগিয়ে। এছাড়া R-এ মেশিন লার্নিং এর অনেকগুলো কাজ বিল্ট-ইন আছে। নতুন কোনো প্যাকেজ লাগে না। ওদিকে caret\u0026nbsp; প্যাকেজ তো প্রায় ১৫০ মেশিন লার্নিং অ্যালগোরিদমকে দারুণভাবে গেঁথে ফেলছে।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nতবে এখানে পাইথন এগিয়ে থাকার একটি কারণ হলো বিভিন্ন প্রতিষ্ঠানে পাইথন সহজ ব্যবহার করা যায়। আগেই বলেছি, পাইথন জেনারেল-পারপাজ ল্যাংগুয়েজ। ফলে মেশিন লার্নিং থেকে প্রাপ্ত ফলাফল সহজেই ইমপ্লিমেন্ট করতে চাইলে পাইথনেই তা করা যায়।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nউল্লেখ্য, আমাদের এই সাইটের (সহ এইরকম ও আরও নানান রকম অসংখ্য সাইটের) অরিজিনাল টেমপ্লেট পাইথনে লেখা।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cb\u003Eপ্যারালেল কম্পিউটেশন\u003C\/b\u003E\u003Cbr \/\u003E\nR বা পাইথন কারোই মূল ভার্সনে মাল্টিকোর কম্পিউটেশনের ভালো ব্যবস্থা নেই। দুটোর জন্যেই এক্সটারনাল লাইব্রেরি ব্যবহারের ভালো সূযোগ আছে অবশ্য।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cb\u003EC\/C++ ইন্টারফেস\u003C\/b\u003E\u003Cbr \/\u003E\nপাইথনে C\/C++ এর ইন্টারফেস হিসেবে\u0026nbsp;swig এর মতো টুল থাকলেও R এর Rcpp এর মতো পাওয়ারপুল টুল নেই।\u0026nbsp;Pybind11 প্রস্তুত হলে পাইথন একটু ভালো হবে অবশ্য। এদিকে R আবার নিয়ে আসছে\u0026nbsp;\u003Ca href=\"https:\/\/blog.revolutionanalytics.com\/2017\/09\/altrep-preview.html\" target=\"_blank\"\u003EALTREP\u003C\/a\u003E। পারফরম্যান্স ও ব্যবহার দারুণ হবে এটি দিয়ে।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cb\u003Eকোডের ধারাবাহিকতা\u003C\/b\u003E\u003Cbr \/\u003E\nএখানেও R পিছিয়ে আছে। বিশেষ করে বেস R ও Tidyverse এর মধ্যে যথেষ্ট পার্থক্য বিদ্যমান। এছাড়াও বিভিন্ন প্যাকেজে একই কাজ নানানভাবে ইমপ্লিমেন্ট করা হয়েছে। এটা খুব বিরক্তিকর।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cb\u003Eঅনলাইন হেল্প\u0026nbsp;\u003C\/b\u003E\u003Cbr \/\u003E\nপ্রোগ্রামিং এর জগৎ হেল্প ছাড়া অচল। কাজ করতে গেলে হেল্প দরকার হবেই। সমস্যায় পড়বেন। ডকুমেন্টেশন দেখবেন। অন্য কোথাও সমাধান খুঁজবেন। গুগোলে সার্চ দেবেন। সমাধান পেয়ে যাবেন। এটা যত দ্রুত পারবেন ততই ভালো। তবে এক্ষেত্রেও R দারুণ। helP() লিখে কি-ওয়ার্ড লিখলেই চলে আসবে সমাধান। বা ?keyword বা ??keyword।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cb\u003Eসোজাসাপ্টা\u003C\/b\u003E\u003Cbr \/\u003E\nযে কাজগুলো R-এ এক\/দুই লাইনের কাজ, বেশিরভাগ ক্ষেত্রেই সেসব কাজ পাইথনে একগাদা কোড লিখতে হবে।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cb\u003Eশেষ কথা\u003C\/b\u003E\u003Cbr \/\u003E\n\u003Cb\u003Eকে ভালো?\u0026nbsp;\u003C\/b\u003E\u003Cbr \/\u003E\n\u003Cb\u003E\u003Cbr \/\u003E\u003C\/b\u003E\nকে ভালো জেনে আসলে লাভ আছে? আপনার ভালো লাগাকেই মূল্য দিন। ভাবছেন যেটায় বেশি টাকা সেটা শিখবেন? বেশি টাকা আসলে কোনো প্রযুক্তির কাছে থাকে না। থাকে স্কিলের মধ্যে।\u003Cbr \/\u003E\n\u003Cblockquote class=\"tr_bq\"\u003E\nযেটাই শিখুন, বা যদি দুটোই শিখুন, শিখুন ভালো করে।\u0026nbsp;\u003C\/blockquote\u003E\n\u003Cb\u003Eসূত্র\u003C\/b\u003E\u003Cbr \/\u003E\n১। \u003Ca href=\"https:\/\/github.com\/matloff\/R-vs.-Python-for-Data-Science\" target=\"_blank\"\u003Eনর্ম ম্যাটলফ\u003C\/a\u003E, প্রফেসর, কম্পিউটার সায়েন্স, ইউনিভার্সিটি অব ক্যালিফোর্নিয়া, ইউসিডেভিস\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ca href=\"https:\/\/www.datacamp.com\/community\/tutorials\/r-or-python-for-data-analysis\" target=\"_blank\"\u003Eআরও\u003C\/a\u003E জানতে পড়ুন- \u003Ca href=\"http:\/\/res.cloudinary.com\/dyd911kmh\/image\/upload\/f_auto,q_auto:best\/v1523009719\/main-qimg-9dcf536c501455f073dfbc4e09798a51_vpijr0.png\" target=\"_blank\"\u003EDatacamp: R vs Python\u003C\/a\u003E\u0026nbsp;\u003C\/div\u003E\n"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/www.statmania.info\/feeds\/6874938500935954957\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/www.statmania.info\/2019\/06\/r-vs-python.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/6874938500935954957"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/6874938500935954957"},{"rel":"alternate","type":"text/html","href":"https:\/\/www.statmania.info\/2019\/06\/r-vs-python.html","title":"ডেটা সায়েন্সের জন্য R বনাম পাইথন"}],"author":[{"name":{"$t":"আব্দুল্যাহ আদিল মাহমুদ"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/17462749408174996847"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"31","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEit8SKqHP7h2U7KFH71SRzI2ve5Vrmx4co6PDUV6gJtAmBpvVEYjNOhxhgOobEgy0DKuW-i1l3AMvAYEOsk1h4XDEer_Bb2FLmwEBQCfD3eJbx4HP7WzH3E_Ia6uG01yB5LJAwXSOlf0NqcsL4_l4VLWw8e394Xb8FZv40yeEQY5do8\/s220\/adil.jpg"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https:\/\/1.bp.blogspot.com\/-iFp5IixXOYA\/XQ0g83jP8lI\/AAAAAAAAFD4\/_OQsOu3ESfIR4b_MkdvFijLj9ZawAFVigCLcBGAs\/s72-c\/r-vs-python.jpg","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-1811735374964048282.post-2083147516704133728"},"published":{"$t":"2019-06-11T10:32:00.000-07:00"},"updated":{"$t":"2019-06-28T17:33:26.489-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"ds"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Linux"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Mahmud"},{"scheme":"http://www.blogger.com/atom/ns#","term":"text-mining"}],"title":{"type":"text","$t":"লিনাক্স টেক্সট প্রসেসিং: নির্দিষ্ট প্যাটার্নের পর সব ডিলিট করুন সহজে "},"content":{"type":"html","$t":"\u003Cdiv dir=\"ltr\" style=\"text-align: left;\" trbidi=\"on\"\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\n\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-RDKaYQEW8_Y\/XP_i-jjP6YI\/AAAAAAAAFC4\/BrXw2IB5lfY88Qc3D0bdrBMryK7NZ1OLgCLcBGAs\/s1600\/linux_logo.jpg\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg border=\"0\" data-original-height=\"1055\" data-original-width=\"1110\" height=\"304\" src=\"https:\/\/1.bp.blogspot.com\/-RDKaYQEW8_Y\/XP_i-jjP6YI\/AAAAAAAAFC4\/BrXw2IB5lfY88Qc3D0bdrBMryK7NZ1OLgCLcBGAs\/s320\/linux_logo.jpg\" width=\"320\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\n\u003Cbr \/\u003E\nধরুন আমাদের কাছে replace.txt নামে একটি ফাইল আছে। এতে আছে অনেকগুলো ওয়েবপেইজের ঠিকানা (URL)। ধরা যাক, ফাইলের শুরুর অংশ এমন:\u003Cbr \/\u003E\n\u003Cbr \/\u003E\ngoogle.com\/funny\u003Cbr \/\u003E\nunix.stackexchange.com\/questions\u003Cbr \/\u003E\nisuckatunix.com\/ireallydo\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nআমরা এখান থেকে .com এর পরের অংশটা মুছে ফেলতে চাই। কাজটা করা যায় অনেকভাবেই। তবে আমার মতে সবচেয়ে সহজ হলো sed কমান্ড। এছাড়াও awk কমান্ড দিয়েও করা যায়। করা যায় ex কমান্ড দিয়েও। তবে আমরা আপাতত শুধু sed এবং awk দিয়ে শিখব।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cb\u003Esed কমান্ড\u003C\/b\u003E\u003Cbr \/\u003E\n\u003Cb\u003E\u003Cbr \/\u003E\u003C\/b\u003E\nকমান্ডটা কীভাবে কাজ করে দেখতে আগে অন্য একটা উদাহরণ দেখা যাক। ধরুন আমরা Go শব্দটার G-কে P বানিয়ে ফেলতে চাইল। তাহলে কোড হবে-\u003Cbr \/\u003E\n\u003Cblockquote class=\"tr_bq\"\u003E\necho \"Go\" | sed 's\/G\/P\/'\u003C\/blockquote\u003E\n\u003Cb\u003Eআউটপুট\u003C\/b\u003E: Po\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nবুঝতেই পারছেন s এর পরে স্ল্যাশ (\"\/\") দিয়ে যে মুছতে চাই সেটা লিখব। আবার স্ল্যাশ দিয়ে যেটা বসাতে চাই সেটা।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএবার তাহলে replace.txt ফাইলে ফিরে আসা যাক। আমরা .txt ফাইল নিয়ে দেখাচ্ছি, কিন্তু তার মানে এই নয় যে অন্য ফাইলে এটা কাজ করবে না। কাজ করবে যে-কোনো টেক্সট ফাইলের জন্যেই। সেটা হতে পারে r বা পাইথন স্ক্রিপ্ট।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nতাহলে .com এর পরের অংশ মুছতে কমান্ড হবে-\u003Cbr \/\u003E\n\u003Cblockquote class=\"tr_bq\"\u003E\nsed 's\/.com.*\/.com\/' replace.txt\u003C\/blockquote\u003E\n\u003Cdiv\u003E\nআর আপনি যদি .com সহ মুছে ফেলতে চান, তাহলে পরের .comটা ফেলে দিলেই হলো।\u0026nbsp;\u003C\/div\u003E\n\u003Cdiv\u003E\n\u003Cblockquote class=\"tr_bq\"\u003E\nsed 's\/.com.*\/\/' replace.txt\u003C\/blockquote\u003E\n\u003C\/div\u003E\n\u003Ctable align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\"\u003E\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd style=\"text-align: center;\"\u003E\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-BxFIWzSBSv0\/XP9sYPEXX3I\/AAAAAAAAFCs\/5oncVdTQxiYMGCp9DhsgumoxFW8IMmKYACLcBGAs\/s1600\/sed_replace.PNG\" imageanchor=\"1\" style=\"margin-left: auto; margin-right: auto;\"\u003E\u003Cimg border=\"0\" data-original-height=\"146\" data-original-width=\"669\" height=\"137\" src=\"https:\/\/1.bp.blogspot.com\/-BxFIWzSBSv0\/XP9sYPEXX3I\/AAAAAAAAFCs\/5oncVdTQxiYMGCp9DhsgumoxFW8IMmKYACLcBGAs\/s640\/sed_replace.PNG\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd class=\"tr-caption\" style=\"text-align: center;\"\u003Esed কমান্ডের কারিশমা\u0026nbsp;\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\u003C\/table\u003E\nতবে এখানে প্রাপ্ত আউটপুট টার্মিনালে প্রিন্ট হবে, কিন্তু কোথাও সেভ হবে না। কোনো ফাইলে সেভ করতে শেষে \u0026gt; filename.extension বসাতে হবে। অথবা \u0026gt;\u0026gt;। যদি বর্তমান কোনো ফাইলের শেষে এটা যোগ করতে চান। যেমন-\u003Cbr \/\u003E\n\u003Cdiv\u003E\n\u003Cblockquote class=\"tr_bq\"\u003E\nsed 's\/.com.*\/\/' replace.txt \u0026gt; rep2.txt\u003C\/blockquote\u003E\n\u003C\/div\u003E\n\u003Cdiv\u003E\nএখন নতুন সৃষ্ট rep2.txt ফাইল দেখতে cat কমান্ড ব্যবহার করুন।\u0026nbsp;\u003C\/div\u003E\n\u003Cblockquote class=\"tr_bq\"\u003E\ncat rep2.txt\u003C\/blockquote\u003E\n\u003Cdiv\u003E\nতবে ফাইল বড় হলে পুরো ফাইল না দেখে উপরের কিছু লাইন দেখতে পারেন।\u0026nbsp;\u003C\/div\u003E\n\u003Cblockquote class=\"tr_bq\"\u003E\nhead -4 rep2.txt\u003C\/blockquote\u003E\n\u003Cb\u003Eawk কমান্ড\u003C\/b\u003E\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cblockquote class=\"tr_bq\"\u003E\ncat replace.txt\u0026nbsp;| awk -F '\\\\.com' '{print $1\".com\"}'\u003C\/blockquote\u003E\nএখানে '\\$1' এর কাজ হলো এক নম্বর কলাম প্রিন্ট করা। আর তার আগে -F অংশ দিয়ে লাইনগুলোকে .com পজিশনে আলাদা কলামে ভাগ করা। তার মানে এখন প্রতি লাইন দুই কলামে ভাগ হয়ে গেল। এবার এখান থেকে '\\$1' দিয়ে প্রথম কলাম নিয়ে নিলাম। তবে যেহেতু -F দিয়ে .com পজিশনে লাইন বিভক্ত হয়েছে, সে কারণে .com কলাম সেপারেটর হিসেবে কাজ করেছে। সাধারণ csv ফাইলে যেখানে থাকে কমা। এখন .com তো আমরা এখানে মুছতে চাই না। তাই '\\$1' এর সাথে আবার .com রেখে দিয়েছি।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cb\u003Eসূত্র\u003C\/b\u003E\u003Cbr \/\u003E\n১। \u003Ca href=\"https:\/\/unix.stackexchange.com\/questions\/257514\/how-to-delete-the-rest-of-each-line-after-a-certain-pattern-or-a-string-in-a-fil\/257515#257515\" target=\"_blank\"\u003EStackoverflow\u003C\/a\u003E\u003Cbr \/\u003E\n২। \u003Ca href=\"https:\/\/www.lifewire.com\/write-awk-commands-and-scripts-2200573\" target=\"_blank\"\u003ELifewire\u003C\/a\u003E\u003C\/div\u003E\n"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/www.statmania.info\/feeds\/2083147516704133728\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/www.statmania.info\/2019\/06\/linux-text-rm.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/2083147516704133728"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/2083147516704133728"},{"rel":"alternate","type":"text/html","href":"https:\/\/www.statmania.info\/2019\/06\/linux-text-rm.html","title":"লিনাক্স টেক্সট প্রসেসিং: নির্দিষ্ট প্যাটার্নের পর সব ডিলিট করুন সহজে "}],"author":[{"name":{"$t":"আব্দুল্যাহ আদিল মাহমুদ"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/17462749408174996847"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"31","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEit8SKqHP7h2U7KFH71SRzI2ve5Vrmx4co6PDUV6gJtAmBpvVEYjNOhxhgOobEgy0DKuW-i1l3AMvAYEOsk1h4XDEer_Bb2FLmwEBQCfD3eJbx4HP7WzH3E_Ia6uG01yB5LJAwXSOlf0NqcsL4_l4VLWw8e394Xb8FZv40yeEQY5do8\/s220\/adil.jpg"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https:\/\/1.bp.blogspot.com\/-RDKaYQEW8_Y\/XP_i-jjP6YI\/AAAAAAAAFC4\/BrXw2IB5lfY88Qc3D0bdrBMryK7NZ1OLgCLcBGAs\/s72-c\/linux_logo.jpg","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-1811735374964048282.post-1405474783165299500"},"published":{"$t":"2019-05-24T11:17:00.001-07:00"},"updated":{"$t":"2019-05-24T11:17:51.570-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"Linux"},{"scheme":"http://www.blogger.com/atom/ns#","term":"tools"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Tuhin"}],"title":{"type":"text","$t":"'ল' তে লিনাক্স"},"content":{"type":"html","$t":"\u003Cdiv dir=\"ltr\" style=\"text-align: left;\" trbidi=\"on\"\u003E\n\u003Cdiv\u003E\nকম্পিউটার, মোবাইলফোন, স্মার্টওয়াচ বা এই ধরনের ডিভাইসগুলো আমরা \nহরহামেশাই ইউজ করে থাকি। কিন্তু কখনো কি খেয়াল করেছেন এগুলো চলে কীভাবে? \nআসলে আমাদের এই নিত্যপ্রয়োজনীয় ডিভাইসগুলো নিতান্তই জড়বস্তু। যখন এই \nজড়বস্তুগুলোর মাঝে প্রাণের সঞ্চার করা হয় তখনি এই ডিভাইসগুলো আমাদের \nনিত্যদিনের সঙ্গী হয়ে দাড়ায়। \"প্রাণের সঞ্চার\" কথাটা আপনাদের কাছে \nঅদ্ভুত লাগতে পারে, আমি আসলে অপারেটিং সিস্টেমের কথাই বলছি।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\n\u003Ca href=\"https:\/\/4.bp.blogspot.com\/-VGN85ZvIL7I\/XOP6nAFLjFI\/AAAAAAAANWo\/HTgrwhMI2xgj3bvvqJOSr9GqaCEG4NRuQCLcBGAs\/s1600\/Linux-wallpapers.png\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg border=\"0\" data-original-height=\"1000\" data-original-width=\"1600\" height=\"250\" src=\"https:\/\/4.bp.blogspot.com\/-VGN85ZvIL7I\/XOP6nAFLjFI\/AAAAAAAANWo\/HTgrwhMI2xgj3bvvqJOSr9GqaCEG4NRuQCLcBGAs\/s400\/Linux-wallpapers.png\" width=\"400\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\n\u003Cbr \/\u003E\nঅপারেটিং\n সিস্টেম হচ্ছে এমন একটি জিনিস যা এই জড়বস্তুগুলোকে ব্যাবহারযোগ্য করে \nতোলে। আমাদের দেশের অধিকাংশ মানুষই তাদের কম্পিউটারে 'উইন্ডোজ' ব্যাবহার \nকরেন অপারেটিং সিস্টেম হিসেবে। উইন্ডজের বিকল্প কিছুর অস্তিত্ব যে আছে, তা \nঅনেকেই জানেন না। হ্যা, বলছি লিনাক্সের কথা।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nকম্পিউটার ব্যাবহারকারীগণের \nমধ্যে বিরাট একটা অংশ, 'লিনাক্স' শব্দটাই হয়তো শোনেননি। কেউ কেউ শুনেছেন \nকিন্তু ইহা আসলে কি জিনিস তা জানেন না। কেউ কেউ লিনাক্স শুনলেই মনে করেন \n'উবুন্টু'র কথা। আসলে লিনাক্স মানে উবুন্টু না, উবুন্টু লিনাক্সের একটা \nঅপারেটিং সিস্টেম মাত্র! (এরকম আরও অন্তত ৫৫০ টি অপারেটিং সিস্টেম আছে)। আবার অনেকেই মনে করেন, লিনাক্স বোধহয় ব্যাপক কঠিন একটা জিনিস! এটা ব্যাবহার করতে \nগেলে বিশাল বড় প্রোগ্রামার হতে হবে, কিবোর্ডে খটাখট শব্দ করে কোড লিখা \nজানতে হবে! আসলে এসবই ভুল ধারণা। লিনাক্স ইউজ করার জন্যে আপনাকে কম্পিউটার \nসায়েন্টিস্ট হতে হবে না। সাধারণ কম্পিউটার ব্যাবহার কারী হিসেবে কেন আপনারও \nলিনাক্স ব্যাবহার করা উচিৎ, সেটাই লিখতে বসলাম আজকে।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nআজ থেকে প্রায় ২৮ বছর \nআগে লিনাস টরভাল্ডস নামের ফিনল্যান্ডের একজন উদাসমনা ভদ্রলোক এই 'লিনাক্স' \nজিনিসটা তৈরী করেছিলেন তার ইউনিভার্সিটির প্রজেক্টটা ঠিকঠাকমতো শেষ করবার \nজন্যে। যাই হোক, সেই কাহিনি আমরা অন্যদিন শুনবো! সেসময় কম্পিউটারগুলো চলত \n'UNIX' অপারেটিং সিস্টেম ব্যাবহার করে। এই ইউনিক্সের সোর্সকোড জনসাধারণের \nজন্যে উন্মুক্ত ছিল না। মানে ডেভেলপাররা কীভাবে এই জিনিসটি বানিয়েছেন\n তার কোড কেউ জানত না, জানার সুযোগও ছিল না!\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nকিন্তু বেচারা লিনাস \nটরভাল্ডসের ইউনিভার্সিটির প্রজেক্টটার জন্যে সেই কোডের প্রয়োজন ছিল। \nযেহেতু ইউনিক্সের সোর্সকোড জানার কোনো উপায়ই ছিল না তখন এই আধাপাগল লোকটা \nনিজের মতকরে একটা অপারেটিং সিস্টেম বানাতে বসে গেলেন! জন্ম হলো লিনাক্সের। \nনিজের অজান্তেই বানিয়ে ফেললেন দুনিয়া কাঁপানো অপারেটিং সিস্টেম। আরেকটু \nক্লিয়ার করে বলি, তিনি মূলত বানিয়েছিলেন লিনাক্স কার্নেল। যা হচ্ছে একটা \nঅপারেটিং সিস্টেমের মূল অংশ যার কাজ হচ্ছে কম্পিউটার নামক জড়বস্তুটির সাথে \nঅপারেটিং সিস্টেম এবং সফটওয়্যারের সংযোগ ঘটানো। আপনি নীচের ছবিটার দিকে তাকালেই বিষয়টা বুঝতে পারবেন আশা করি।\u003Cbr \/\u003E\n\u003Ctable align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\"\u003E\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd style=\"text-align: center;\"\u003E\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-mDmkLuVxwHk\/XOPk23aOhNI\/AAAAAAAANU8\/wxpGElxAZX41nTExej8lSb7rzhUM7D7_ACLcBGAs\/s1600\/1280px-Kernel_Layout.svg_.png\" style=\"margin-left: auto; margin-right: auto;\"\u003E\u003Cimg border=\"0\" data-original-height=\"1012\" data-original-width=\"1280\" height=\"253\" src=\"https:\/\/1.bp.blogspot.com\/-mDmkLuVxwHk\/XOPk23aOhNI\/AAAAAAAANU8\/wxpGElxAZX41nTExej8lSb7rzhUM7D7_ACLcBGAs\/s320\/1280px-Kernel_Layout.svg_.png\" width=\"320\" \/\u003E\u003C\/a\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd class=\"tr-caption\" style=\"text-align: center;\"\u003Eকার্নেলের কাজ হলো সফটওয়্যার ও হার্ডওয়্যারের মাঝে সংযোগ ঘটানো\u0026nbsp;\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\u003C\/table\u003E\n\u003Cbr \/\u003E\nতিনি লিনাক্স কার্নেল বানানোর পর সেটাকে \nওপেনসোর্স করে দিলেন। যাতে যেকেউ চাইলেই সেই লিনাক্স কার্নেলকে মোডিফাই \nকরতে পারে নিজেদের প্রয়োজনে (তার জন্যে অবশ্যই প্রোগামিং জানতে হবে, এমনি \nএমনি না!)। সেই যে খেলা শুরু হলো, আজ অবধি সে খেলা চলছে তো চলছেই! সবাই \nনিজেদের প্রয়োজনে নিজের মত করে লিনাক্সকে গড়ে নিচ্ছে! ঠিক এই কারণেই ওপেন \nসোর্সকোড ব্যাপারটা আমার খুবই প্রিয়! এই ওপেনসোর্স শব্দটার পিছনেও আছে \nলম্বা ইতিহাস! সেই ইতিহাস এখানে বলাটা ভীষণ অপ্রাসঙ্গিক একটি ব্যাপার হয়ে \nযাবে! তাই এড়িয়ে যাচ্ছি, পারলে অন্য কোনো লেখায় তুলে ধরার চেষ্টা করবো!\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nযাইহোক,\n আবারো লিনাক্স কার্নেলের কথায়\u0026nbsp;ফেরত আসি। লিনাক্স কার্নেলটাকে বেজ হিসেবে ধরে \nবানানো শুরু হলো নানা রকম অপারেটিং সিস্টেম। এই লিনাক্স বেজড অপারেটিং \nসিস্টেমগুলোকে আমরা আদর করে ডাকি \"ডিস্ট্রিবিউশন\" বা \"ডিস্ট্রো\"। এখন \nপর্যন্ত বাজারে অন্তত পাঁচশ অপারেটিং সিস্টেম আছে লিনাক্সের।\n যার যেমনটা দরকার সে তেমন করেই বানিয়ে নিয়েছে। যেমন হ্যাকার বা সিকিউরিটি\n বিশেষজ্ঞরা ব্যাবহার করেন \"Kali Linux\", \"Parrot Os\", \"Black Arch\"। আবার \nশিক্ষার্থীদের জন্যে আছে Edubuntu, Endless OS। বিজ্ঞানীরা ব্যবহার করেন \n'Scientific Linux', 'Fedora Scientific' ইঞ্জিনিয়াররা ব্যবহার করেন \n'LinuxCNC', 'CAELinux', জেনেটিক ইঞ্জিনিয়ার কেমিক্যাল ইঞ্জিনিয়াররা \nব্যবহার করেন 'Bio Linux', 'Poseidon Linux' ইত্যাদি!\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nআর আমার প্রায় পাঁচ \nবছরের লিনাক্স অভিজ্ঞতায় প্রায় চল্লিশটির মত অপারেটিং সিস্টেম ব্যাবহার \nকরার সুযোগ হয়েছে। আমার কাছে মনে হয়েছে লিনাক্স মোটেও কঠিন কিছু নয়। এটি \nসার্বজনীন!\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cb\u003Eকেন উইন্ডোজ ছেড়ে লিনাক্স ব্যাবহার করবেন?\u0026nbsp;\u003C\/b\u003E\u003Cbr \/\u003E\n\u003Cul style=\"text-align: left;\"\u003E\n\u003Cli\u003E\u003Cb\u003Eসিকিউরিটি:\u0026nbsp;\u003C\/b\u003Eনাসা, সার্ন, গুগল, ফেসবুক সার্ভার সহ পৃথিবীর সমস্ত গুরুত্বপূর্ণ \nজায়গাগুলোতে লিনাক্স অপারেটিং সিস্টেম ব্যাবহার করা হয়। ইন্টারনেট দুনিয়ার \nপ্রায় ৯০% সার্ভারে লিনাক্স ব্যাবহার করা হয় এর সিকিউরিটি সুনামের কারণে। \nলিনাক্স সার্ভারে অ্যাটাক করা প্রায় অসম্ভব একটি কাজ হ্যাকারদের জন্যে। \nএকজন সাধারণ ইউজার হিসেবে সার্ভার সিকিউরিটি নিয়ে হয়ত আপনার মাথাব্যথা নাও \nথাকতে পারে, কিন্তু আপনি যদি পার্সোনাল কম্পিউটারের সিকিউরিটির কথা চিন্তা \nকরেন সেক্ষেত্রেও লিনাক্স সবার আগে। উইন্ডোজ কম্পিউটারে হরেক রকম অ্যান্টিভাইরাস ইউজ করেন আপনারা ভাইরাস বা ম্যালওয়্যার থেকে বাঁচার জন্যে। অনেক অ্যান্টিভাইরাস কোম্পানি বাজারে তাদের ব্যাবসা টিকিয়ে রাখতে নিজেরাই ভাইরাস \nআপলোড করে থাকে। অনেক দাম দিয়ে এসব অ্যান্টিভাইরাস কিনতে হয়। সিরিয়াল কী আপডেট\n করতে হয়। উইন্ডোযে যেখানে এত ঝামেলা সেখানে লিনাক্স একদম দুর্ভেদ্য একটা \nঅপারেটিং সিস্টেম। কোনোরকম অ্যান্টিভাইরাস প্রয়োজন নেই। আমি আজ পর্যন্ত কাউকে \nবলতে শুনিনি যে তার লিনাক্স কম্পিউটার এ ভাইরাস এ্যটাক হয়েছে!\u003C\/li\u003E\n\u003Cli\u003E\u003Cb\u003Eদাম: \u003C\/b\u003Eউইন্ডোজ \nএর জেনুইন ভার্সন যদি আপনি ব্যাবহার চান তাহলে আপনাকে প্রায় ১০০ থেকে ২৫০ \nডলার গুণতে হবে। কিন্তু লিনাক্স আজীবনের জন্য ফ্রি! হ্যা আপনি ঠিকই পড়েছেন!\n একটি টাকাও খরচ করতে হবে না আপনাকে।\u003C\/li\u003E\n\u003Cli\u003E\u003Cb\u003Eপারফরম্যান্স:\u0026nbsp;\u003C\/b\u003Eনতুন \nকম্পিউটার কেনার দুই-তিন মাস পরেই ভীষণ স্লো হয়ে যায় উইন্ডোজ কম্পিউটার। \nএকটা ক্লিক দিয়ে ঘুমিয়ে যাচ্ছেন, ঘুম থেকে উঠে দেখবেন তখনো কাজ হয়নি! \nমাঝেমধ্যেই আছাড় মেরে ল্যাপটপ ভেঙ্গে ফেলার ইচ্ছে করে হয়ত। বছরের পর বছর \nলিনাক্স ইউজ করবেন, একটা দিনও স্লো হবে না! কম্পিউটার বন্ধও করে রাখতে \nহবে না। দিনের পর দিন কম্পিউটার চালু রাখতে পারবেন। আমি যখন এই লিখাটা লিখছি\n তখনো আমার কম্পিউটার একটানা ২২ দিন ধরে চলছে, এরমধ্যে একবারও শাট ডাউন \nকরার দরকার হয়নি। বাইরে যাবার সময় ঘুম পাড়িয়ে রেখে গেছি (মানে স্লিপ মুডের \nকথা বলছি)।\u0026nbsp;\u003C\/li\u003E\n\u003Cli\u003E\u003Cb\u003Eআপডেট:\u0026nbsp;\u003C\/b\u003Eউইন্ডোজের বিরক্তিকর আপডেটের সম্মুখীন হননি এরকম মানুষ হারিকেন দিয়েও খুঁজে একটা পাওয়া যাবে বলে \nআমার মনে হয় না! ভীষণ রকম স্লো আর ল্যাগি আপডেট, সাথে রিস্টার্ট করার প্যারা\n তো আছেই! রিস্টার্ট করতে গেলেও চার পাচ মিনিট সময় চলে যায়! জীবনটাই \nতামাতামা হয়ে যায়! 😀লিনাক্সের যেকোনো অপারেটিং সিস্টেমে এই আপডেটের \nকাজটা সেরে ফেলতে পারবেন মাত্র একটা ক্লিক দিয়েই। সেইসাথে ইনস্টল থাকা \nপ্রত্যেকটা অ্যাপ আপডেট হয়ে যাবে কোনো ঝামেলা ছাড়াই। উইন্ডোজের মত শুধুমাত্র সিস্টেম আপডেট হবে না। খুঁজে \nখুঁজে আলাদাভাবে আর কোনো অ্যাপ আপডেট করতে হবে না। \u003Cbr \/\u003E\n\u003Ctable align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\"\u003E\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd style=\"text-align: center;\"\u003E\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-xfIYu2yGIiA\/XOPuUxfVEnI\/AAAAAAAANVM\/Tp_sg0Y3MV0qeNOiV5erdUREZ7YqU5SfQCEwYBhgL\/s1600\/Screenshot_20190521_182351.jpg\" style=\"margin-left: auto; margin-right: auto;\"\u003E\u003Cimg border=\"0\" data-original-height=\"900\" data-original-width=\"1600\" height=\"225\" src=\"https:\/\/1.bp.blogspot.com\/-xfIYu2yGIiA\/XOPuUxfVEnI\/AAAAAAAANVM\/Tp_sg0Y3MV0qeNOiV5erdUREZ7YqU5SfQCEwYBhgL\/s400\/Screenshot_20190521_182351.jpg\" width=\"400\" \/\u003E\u003C\/a\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd class=\"tr-caption\" style=\"text-align: center;\"\u003Eমাত্র এক ক্লিক এ আপডেটের ঝামেলা শেষ!\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\u003C\/table\u003E\n\u003C\/li\u003E\n\u003Cli\u003E\u003Cb\u003Eঅ্যাপ ইনস্টলেশন:\u0026nbsp;\u003C\/b\u003Eউইন্ডোজে নতুন কোনো অ্যাপ ইনস্টল করাও ঝামেলা! গুগল থেকে খুজে খুজে ডাউনলোড করো, \nতারপর ইনস্টল করো, দুদিন যেতে না যেতেই আবার রেজিস্ট্রেশন কী দিতে হবে \nনাইলে অ্যাপ কাজ করবে না! মহা মুশকিল! লিনাক্সে এত খোঁজাখুঁজি করতে \nহবে না। সফটওয়্যার ম্যানেজারে সার্চ করবেন আপনার প্রয়োজনীয় অ্যাপ, একটা \nক্লিক করবেন, কিচ্ছা খতম! কোনো সিরিয়াল কী, রেজিট্রেশন ফী হ্যানত্যান \nঝামেলা নেই! সফটওয়্যার ম্যানেজার জিনিসটা প্লেস্টোরের মত, সার্চ করবেন আর \nডাউনলোড করবেন। এই ফাঁকে একটি তথ্য জানিয়ে দেই, আপনার হাতে থাকা \nঅ্যান্ড্রয়েড ফোনটিও কিন্তু লিনাক্স অপারেটিং সিস্টেম! \u003Ctable align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\"\u003E\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd style=\"text-align: center;\"\u003E\u003Ca href=\"https:\/\/4.bp.blogspot.com\/-Cp-cQOnCbN4\/XOPwDTkyHII\/AAAAAAAANVU\/IRvKAAsA0PYsBmif0g96nD-aWkas1EBzgCLcBGAs\/s1600\/Screenshot_20190521_183234.jpeg\" style=\"margin-left: auto; margin-right: auto;\"\u003E\u003Cimg border=\"0\" data-original-height=\"900\" data-original-width=\"1600\" height=\"225\" src=\"https:\/\/4.bp.blogspot.com\/-Cp-cQOnCbN4\/XOPwDTkyHII\/AAAAAAAANVU\/IRvKAAsA0PYsBmif0g96nD-aWkas1EBzgCLcBGAs\/s400\/Screenshot_20190521_183234.jpeg\" width=\"400\" \/\u003E\u003C\/a\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd class=\"tr-caption\" style=\"text-align: center;\"\u003ESoftware Manager\/Store\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\u003C\/table\u003E\n\u003C\/li\u003E\n\u003Cli\u003E\u003Cb\u003Eপ্রাইভেসি:\u0026nbsp;\u003C\/b\u003Eউইন্ডোজ \nআপনার অগোচর আপনার প্রত্যেকটি কর্মকাণ্ডই নজরদারী করে, আপনার প্রত্যেকটি \nডেটা তাদের সার্ভারে জমা হতে থাকে। লিনাক্স আপনার কোনো ডেটাই তাদের \nসার্ভারে পাঠায় না, যদি প্রয়োজন বশত কোনো ডেটা বা সিস্টেম লগ তারা নিতে চায়,\n তার আগে অবশ্যই আপনাকে নোটিফাই করবে।\u003C\/li\u003E\n\u003Cli\u003E\u003Cb\u003Eইউজার ইন্টারফেস:\u0026nbsp;\u003C\/b\u003Eএবার আসি ইউজার এনভায়রনমেন্ট এর \nব্যাপারটায়। সারাটা জীবন ধরে উইন্ডোজের চেহারা দেখতে দেখতে বিরক্ত হয়েছেন? \nমাঝেমধ্যেই একটু সুন্দর করে সাজাতে চেয়েছেন নিজের কম্পিউটার? কিন্তু কালার \nছাড়া আর কোনোকিছু চেঞ্জ করতে পারেননি? তাহলে আপনি চোখ বন্ধ করে লিনাক্স \nব্যাবহার শুরু করুন। কালার, ফন্ট, আইকন থেকে শুরু করে কার্নেল পর্যন্ত \nচেঞ্জ করতে পারবেন দুই একটা ক্লিক করেই! আমি নিজেই তো Asus ল্যাপটপ এ \nMacBook এর স্বাদ নিচ্ছি! ও আচ্ছা! ম্যাক অপারেটিং সিস্টেমও কিন্তু লিনাক্স\n কার্নেলেই বানানো! মোদ্দাকথা, আপনি চাইলেই আপনার মনের মাধুরী মিশিয়ে \nআপনার কম্পিউটার কাস্টমাইজ করতে পারবেন। টাকা দিয়ে কিনেছেন, আপনার \nকম্পিউটার থাকবে আপনার ইচ্ছামত, তাহলে কেন উইন্ডোজ এর কাছে বন্দী হয়ে \nথাকবেন? আমার ল্যাপটপের স্ক্রিনশটগুলো দেখুন, ম্যাকবুক ভেবে ভুল করবেন না! \u003Cbr \/\u003E\u003Cbr \/\u003E\n\u003Ctable align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\"\u003E\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd style=\"text-align: center;\"\u003E\u003Ca href=\"https:\/\/2.bp.blogspot.com\/-LzaLn33xRXs\/XOPznL5H3sI\/AAAAAAAANVk\/qYFv32bDlnE6xVTAyux0-fi8gGgXxtlcgCLcBGAs\/s1600\/Screenshot_20190521_184149.jpeg\" style=\"margin-left: auto; margin-right: auto;\"\u003E\u003Cimg border=\"0\" data-original-height=\"900\" data-original-width=\"1600\" height=\"225\" src=\"https:\/\/2.bp.blogspot.com\/-LzaLn33xRXs\/XOPznL5H3sI\/AAAAAAAANVk\/qYFv32bDlnE6xVTAyux0-fi8gGgXxtlcgCLcBGAs\/s400\/Screenshot_20190521_184149.jpeg\" width=\"400\" \/\u003E\u003C\/a\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd class=\"tr-caption\" style=\"text-align: center;\"\u003Eফাইল ম্যানেজার\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctable align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\"\u003E\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd style=\"text-align: center;\"\u003E\u003Ca href=\"https:\/\/4.bp.blogspot.com\/-0pDOGcqAVl8\/XOPznfl7oII\/AAAAAAAANVo\/QICfRJaP-SoX1WaT2sHIzBoAquy_B1pWACEwYBhgL\/s1600\/Screenshot_20190521_184217.jpeg\" style=\"margin-left: auto; margin-right: auto;\"\u003E\u003Cimg border=\"0\" data-original-height=\"900\" data-original-width=\"1600\" height=\"225\" src=\"https:\/\/4.bp.blogspot.com\/-0pDOGcqAVl8\/XOPznfl7oII\/AAAAAAAANVo\/QICfRJaP-SoX1WaT2sHIzBoAquy_B1pWACEwYBhgL\/s400\/Screenshot_20190521_184217.jpeg\" width=\"400\" \/\u003E\u003C\/a\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd class=\"tr-caption\" style=\"text-align: center;\"\u003EApplication Drawer\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\u003C\/table\u003E\n\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\u003C\/table\u003E\n\u003Ctable align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\"\u003E\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd style=\"text-align: center;\"\u003E\u003Ca href=\"https:\/\/2.bp.blogspot.com\/-tp_hXmnj7lQ\/XOPzoS4wEZI\/AAAAAAAANVs\/_Q3SLNndSLIrgnQPUxOdAgNYeLp4Pf4JQCEwYBhgL\/s1600\/Screenshot_20190521_184523.jpeg\" style=\"margin-left: auto; margin-right: auto;\"\u003E\u003Cimg border=\"0\" data-original-height=\"900\" data-original-width=\"1600\" height=\"225\" src=\"https:\/\/2.bp.blogspot.com\/-tp_hXmnj7lQ\/XOPzoS4wEZI\/AAAAAAAANVs\/_Q3SLNndSLIrgnQPUxOdAgNYeLp4Pf4JQCEwYBhgL\/s400\/Screenshot_20190521_184523.jpeg\" width=\"400\" \/\u003E\u003C\/a\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd class=\"tr-caption\" style=\"text-align: center;\"\u003ESystem Info\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\u003C\/table\u003E\n\u003Ctable align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\"\u003E\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd style=\"text-align: center;\"\u003E\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-zlPLqczYuOM\/XOPzo1I3z2I\/AAAAAAAANVw\/p0msZThv8PUkClWMJhbGRF-eY6Slni1FgCEwYBhgL\/s1600\/Screenshot_20190521_184702.jpeg\" style=\"margin-left: auto; margin-right: auto;\"\u003E\u003Cimg border=\"0\" data-original-height=\"900\" data-original-width=\"1600\" height=\"225\" src=\"https:\/\/1.bp.blogspot.com\/-zlPLqczYuOM\/XOPzo1I3z2I\/AAAAAAAANVw\/p0msZThv8PUkClWMJhbGRF-eY6Slni1FgCEwYBhgL\/s400\/Screenshot_20190521_184702.jpeg\" width=\"400\" \/\u003E\u003C\/a\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd class=\"tr-caption\" style=\"text-align: center;\"\u003ESystem Monitor\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\u003C\/table\u003E\n\u003C\/li\u003E\n\u003Cli\u003E\u003Cb\u003Eটার্মিনাল:\u0026nbsp;\u003C\/b\u003Eআপনি যদি অ্যাডভান্স ইউজার হয়ে থাকেন তাহলে উইন্ডোজ কমান্ড লাইনের \nসাথে নিশ্চয় পরিচিত। উইন্ডোজ কমান্ড লাইন অথবা পাওয়ারশেল জিনিসটাকে আমার \nকাছে নিছক খেলনা মনে হয়েছে লিনাক্স টার্মিনালের তুলনায়। টার্মিনাল দিয়ে \nআপনি চাইলে আপনার কম্পিউটার কেন মহাকাশ পর্যন্ত কাঁপিয়ে দিতে পারবেন। আমি \nএকটুও বাড়িয়ে বলছি না, টার্মিনাল এতটাই শক্তিশালী!\u0026nbsp;\u003Ctable align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\"\u003E\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd style=\"text-align: center;\"\u003E\u003Ca href=\"https:\/\/2.bp.blogspot.com\/-d9jcST8Faiw\/XOP1QMSzieI\/AAAAAAAANWU\/VNOwxo3ouWgLmA23ktq6h7QVZQGaotkbwCEwYBhgL\/s1600\/Screenshot_20190521_185433.jpeg\" style=\"margin-left: auto; margin-right: auto;\"\u003E\u003Cimg border=\"0\" data-original-height=\"900\" data-original-width=\"1600\" height=\"225\" src=\"https:\/\/2.bp.blogspot.com\/-d9jcST8Faiw\/XOP1QMSzieI\/AAAAAAAANWU\/VNOwxo3ouWgLmA23ktq6h7QVZQGaotkbwCEwYBhgL\/s400\/Screenshot_20190521_185433.jpeg\" width=\"400\" \/\u003E\u003C\/a\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd class=\"tr-caption\" style=\"text-align: center;\"\u003ETerminal\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\u003C\/table\u003E\n\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003C\/div\u003E\nযাই হোক, উইন্ডোজ এ কুয়োর ব্যাঙ হয়ে না থেকে লিনাক্সে আসুন, \nকম্পিউটিং বিস্ময়কর জগৎটা দেখুন! তবে আশার কথা হলো, দেরীতে হলেও মাইক্রোসফট\n এতদিনে বুঝতে শুরু করেছে ওপেন সোর্সের গুরুত্ব, লিনাক্সের গুরুত্ব। এবছরই \nতারা উইন্ডোজের ভিতরেই লিনাক্স ব্যাবহার করার জন্যে WSL (Windows Subsystem\n for Linux) রিলিজ করেছে। আগে এই কাজটিই করতে হতো বিভিন্নরকম ভার্চুয়াল \nমেশিন সফটওয়্যার ব্যাবহার করে। এছাড়াও তারা উইন্ডোজের জন্যে নতুন টার্মিনাল\n ডেভেলপ করা শুরু করেছে। \u003Cbr \/\u003E\n\u003Ctable align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\"\u003E\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd style=\"text-align: center;\"\u003E\u003Ca href=\"https:\/\/2.bp.blogspot.com\/-jsgwOZLwz_c\/XOP5oamjBbI\/AAAAAAAANWc\/R6ze-e7-Ba8JfSPQUWN1eNvCisWk_LmTwCLcBGAs\/s1600\/Cover.png\" style=\"margin-left: auto; margin-right: auto;\"\u003E\u003Cimg border=\"0\" data-original-height=\"891\" data-original-width=\"1600\" height=\"222\" src=\"https:\/\/2.bp.blogspot.com\/-jsgwOZLwz_c\/XOP5oamjBbI\/AAAAAAAANWc\/R6ze-e7-Ba8JfSPQUWN1eNvCisWk_LmTwCLcBGAs\/s400\/Cover.png\" width=\"400\" \/\u003E\u003C\/a\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd class=\"tr-caption\" style=\"text-align: center;\"\u003ENew cmd\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\u003C\/table\u003E\nএতক্ষণ ধরে বকবক করেও \nআমি শুধুমাত্র লিনাক্সের বাহ্যিক দিকটাই একটুখানি তুলে ধরেছি। ভেতরের \nকথাবার্তা নিয়ে, একজন বিগিনার হিসেবে লিনাক্সের কোন অপারেটিং সিস্টেমটি \nব্যাবহার করতে পারেন, কীভাবে ইনস্টল করবেন, সেসব বিস্তারিত লিখবো অন্য একটি লিখায়। ভালো থাকুন। Happy Computing! \u003Cbr \/\u003E\n\u003Cbr \/\u003E\nডেটা সায়েন্সে লিনাক্স কীভাবে কাজে লাগতে পারে জানতে চোখ রাখুন \u003Ca href=\"https:\/\/www.statmania.info\/search\/label\/Linux?max-results=20\" target=\"_blank\"\u003Eএখানে\u003C\/a\u003E।\u003Cbr \/\u003E\n\u003Cb\u003Eআরও পড়ুন\u003C\/b\u003E\u003Cbr \/\u003E\n\u003Cdiv style=\"background-color: white; line-height: 1.2; margin: 0px 0px 3px; padding: 0px; text-align: left; transition: all 0.2s ease-in-out 0s;\"\u003E\n\u003Cspan style=\"color: #cc0000; font-size: small; margin: 0px; outline: none; padding: 0px;\"\u003E\u003Cspan style=\"background-color: transparent;\"\u003E\u003Cspan style=\"font-family: \u0026quot;chiller\u0026quot; , sans-serif;\"\u003E☛\u0026nbsp;\u003C\/span\u003E\u003C\/span\u003E\u003Ca href=\"https:\/\/www.statmania.info\/2019\/05\/linux-text-mining.html\" style=\"font-family: Chiller, sans-serif; font-weight: normal; letter-spacing: 0.16px; margin: 0px; outline: none; padding: 0px; text-decoration-line: none;\"\u003Eলিনাক্স ও ডেটা সায়েন্স: একটি সরল টেক্সট মাইনিং\u003C\/a\u003E\u003C\/span\u003E\u003C\/div\u003E\n\u003Cspan style=\"color: #cc0000; font-size: small; margin: 0px; outline: none; padding: 0px;\"\u003E\u003Cspan style=\"font-family: \u0026quot;chiller\u0026quot; , sans-serif;\"\u003E\u003Cspan style=\"letter-spacing: 0.16px;\"\u003E☛\u0026nbsp;\u003C\/span\u003E\u003C\/span\u003E\u003Ca href=\"https:\/\/www.statmania.info\/2019\/05\/linux-tr.html\" style=\"font-family: Chiller, sans-serif; font-weight: normal; letter-spacing: 0.16px; margin: 0px; outline: none; padding: 0px; text-decoration-line: none;\"\u003Eলিনাক্স ও ডেটা সায়েন্স: tr কমান্ডের কারিশমা\u003C\/a\u003E\u003C\/span\u003E\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cscript src=\"chrome-extension:\/\/lmnganadkecefnhncokdlaohlkneihio\/enable.js\"\u003E\u003C\/script\u003E\u003C\/div\u003E\n"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/www.statmania.info\/feeds\/1405474783165299500\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/www.statmania.info\/2019\/05\/why-linux-is-great.html#comment-form","title":"2 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/1405474783165299500"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/1405474783165299500"},{"rel":"alternate","type":"text/html","href":"https:\/\/www.statmania.info\/2019\/05\/why-linux-is-great.html","title":"'ল' তে লিনাক্স"}],"author":[{"name":{"$t":"Tuhin Rana"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/09760261190086763609"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"21","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEgXPtG2KAaF0YImxOUyUF9M2YnJUmd_MS1GONoSjUOG3hRKZ8KiC76iGTxDeho6tAWnq498HBTemhtG9z6BnXoVHH2B9lmxlFLpQ6Ir8zGx2OXw56g1QoswGKLC0vpF_g\/s50\/DSC_0253+new+%28rotated%29.jpg"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https:\/\/4.bp.blogspot.com\/-VGN85ZvIL7I\/XOP6nAFLjFI\/AAAAAAAANWo\/HTgrwhMI2xgj3bvvqJOSr9GqaCEG4NRuQCLcBGAs\/s72-c\/Linux-wallpapers.png","height":"72","width":"72"},"thr$total":{"$t":"2"}},{"id":{"$t":"tag:blogger.com,1999:blog-1811735374964048282.post-3050377509044429258"},"published":{"$t":"2019-05-16T10:07:00.000-07:00"},"updated":{"$t":"2019-06-28T17:33:26.566-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"ds"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Linux"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Mahmud"},{"scheme":"http://www.blogger.com/atom/ns#","term":"text-mining"}],"title":{"type":"text","$t":"লিনাক্স ও ডেটা সায়েন্স: একটি সরল টেক্সট মাইনিং "},"content":{"type":"html","$t":"\u003Cdiv dir=\"ltr\" style=\"text-align: left;\" trbidi=\"on\"\u003E\nডেটা সায়েন্সের জন্য লিনাক্স টার্মিনাল দারুণ এক জিনিস। এর আগে আমরা \u003Ca href=\"https:\/\/www.statmania.info\/2019\/05\/linux-tr.html\" target=\"_blank\"\u003Etr কমান্ড\u003C\/a\u003E নিয়ে বলেছিলাম। আজকে দেখব, সামান্য কয়েকটি কমান্ড এক সঙ্গে ব্যবহার করে কত দারুণ একটা কাজ করা যায়।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\n\u003C\/div\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\n\u003Ca href=\"https:\/\/3.bp.blogspot.com\/-gg8HKLo0AJQ\/XN2Vb_Y1FxI\/AAAAAAAAFBc\/qp9_lga-qvE-5_4OykCx3385CXrJ4o7YgCLcBGAs\/s1600\/text_mining_linux.jpg\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg border=\"0\" data-original-height=\"431\" data-original-width=\"569\" height=\"302\" src=\"https:\/\/3.bp.blogspot.com\/-gg8HKLo0AJQ\/XN2Vb_Y1FxI\/AAAAAAAAFBc\/qp9_lga-qvE-5_4OykCx3385CXrJ4o7YgCLcBGAs\/s400\/text_mining_linux.jpg\" width=\"400\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\n\u003Cbr \/\u003E\nযাদের লিনাক্স নেই তারা এই মিনি টিউটোরিয়ালকে ফলো করতে WSL (উইন্ডোজ সাবসিস্টেম ফর লিনাক্স)\u0026nbsp;\u003Ca href=\"https:\/\/www.youtube.com\/watch?v=Cvrqmq9A3tA\" target=\"_blank\"\u003Eব্যবহার করতে পারেন\u003C\/a\u003E। আমি নিজেও আসলে তাই করছি।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএখানে আমরা দেখব উইকিপিডিয়ার \u003Ca href=\"https:\/\/en.wikipedia.org\/wiki\/Star\" target=\"_blank\"\u003EStar\u003C\/a\u003E আর্টিকেলের ভূমিকা অংশে কোন শব্দগুলো সবেচেয়ে বেশি বার আছে। এটা টেক্সট মাইনিং এর একেবারে প্রাথমিক একটা কাজ। আমরা ভবিষ্যতে দেখতে পারি, উইকপিডিয়ার সব আর্টিকেলের ভূমিকায় একই শব্দগুলোই বেশি থাকে কি না।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nতাহলে কাজে নেমে পড়া যাক। মূল কাজে যাবার আগে আমরা টেক্সটটাকে একটা ফাইলে নিয়ে সেভ করে রাখি। লিনাক্সের ফাইল ম্যানেজিং আগে থেকেই পারলে নীচের কথাগুলো অবশ্য অতিরঞ্জন হবে।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cul style=\"text-align: left;\"\u003E\n\u003Cli\u003Eতাহলে শুরুতে আমরা আর্টিকেলের টেক্সটটা কপি করে নেই। আমরা শুরু থেকে\u0026nbsp;Contents সেকশনের আগ পর্যন্ত কপি করব। এই মুহূর্তে লাস্ট লাইনটা এ রকম: ...such as a star cluster or a galaxy। উইকপিডিয়া পরিবর্তনশীল বলে এটা হয়ত সব সময় নাও থাকতে পারে।\u0026nbsp;\u003C\/li\u003E\n\u003Cli\u003Eএবার লিনাক্স টার্মিনালে আসি। একটা ফাইল বানাই। নাম দেই star_wiki.txt। এটার জন্য কোড \u003Ci\u003Etouch star_wiki.txt\u003C\/i\u003E\u003C\/li\u003E\n\u003Cli\u003Eএবার এই ফাইলে টেক্সটখানা বসাতে হবে। তাহলে ইডিট মোডে যেতে টাইপ করি:\u0026nbsp;\u003Ci\u003Enano star_wiki.txt\u003C\/i\u003E\u003C\/li\u003E\n\u003Cli\u003Eএবার আগে কপি করা টেক্সটটুকু এখানে বসিয়ে দেই। এখানে Ctrl + V সবসময় কাজ করে না। তার চেয়ে বরং মাউসের রাইট ক্লিক করলেই পেস্ট হয়ে যায়।\u0026nbsp;\u003C\/li\u003E\n\u003Cli\u003Eএবার Ctrol + O এবং এন্টার চেপে তারপর Ctrl + X চেপে বের হয়ে আসুন।\u0026nbsp;\u003C\/li\u003E\n\u003C\/ul\u003E\nআমাদের মূল কাজ আসলে এখনও হয়নি। তবে এবার হবে। আমরা যা করতে চাই তার জন্যে পুরো কমান্ড হলো:\u003Cdiv\u003E\n\u003Cbr \/\u003E\n\u003Cblockquote class=\"tr_bq\"\u003E\ncat star_wiki.txt | tr '[:upper:]' '[:lower:]' | grep -oE '\\w+' | sort | uniq -c | sort -nr | head -n 10\u003C\/blockquote\u003E\n\u003C\/div\u003E\n\u003Cdiv\u003E\nচাইলে পুরোটা রান করে দেখতে পারেন। তবে আমরা কাজটা করব ধাপে। প্রত্যেক লাইনে কী ঘটছে সেটা বুঝে বুঝে।\u0026nbsp;\u003C\/div\u003E\n\u003Cdiv\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\n\u003Cdiv\u003E\nউপরের কমান্ডে আমরা \"|\" চিহ্নটা বেশ কয়েকবার ব্যবহার করেছি। লিনাক্স কমান্ড লাইনে একে বলে পাইপ কমান্ড। এটা দিয়ে একটা কাজের রেজাল্টকে আরেকটা কাজের ইনপুট হিসেবে ব্যবহার করা যায়। ব্যাপারটা R এর dplyr ও আরও ভাল করে বললে magrittr প্যাকেজের পাইপের সাথে মিল আছে। অবশ্য R এর পাইপ কমান্ড হলো %\u0026gt;%। এর ব্যবহার দেখতে \u003Ca href=\"https:\/\/www.statmania.info\/2019\/04\/join.html\" target=\"_blank\"\u003Eএই লেখাটি দেখুন\u003C\/a\u003E।\u0026nbsp;\u003C\/div\u003E\n\u003Cdiv\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\n\u003Cdiv\u003E\nতাহলে একে একে দেখা যাক, ওপরের পুরো কোডটা আসলে কী করল।\u0026nbsp;\u003C\/div\u003E\n\u003Cdiv\u003E\n\u003Cul style=\"text-align: left;\"\u003E\n\u003Cli\u003E\u003Ci\u003Ecat\u003C\/i\u003E কমান্ড কোনো ফাইলের টেক্সটগুলোকে টার্মিনালে প্রিন্ট করে। ফাইল জোড়া দিতেও এটা ব্যবহার করা যায়। তবে সেটা আমাদের আজকের আলোচনার অংশ নয়। তাহলে আপাতত শুধু রান করুন\u0026nbsp;\u003Ci\u003Ecat star_wiki.txt\u003C\/i\u003E। এটা আসলে টেক্সটটা দেখানো ছাড়া আর কিছুই করবে না। ফাইলটায় যেহেতু টেক্সট খুব বেশি নেই, তাই একে প্রিন্ট টার্মিনালে প্রিন্ট করতে অসুবিধা নেই। এবার পাইপ কমান্ড দিয়ে আমরা অ্যানালাইসিসের দিকে যাব।\u0026nbsp;\u003C\/li\u003E\n\u003Cli\u003E\u003Ci\u003Etr\u003C\/i\u003E কমান্ডের কারিশমা নিয়ে \u003Ca href=\"https:\/\/www.statmania.info\/2019\/05\/linux-tr.html\" target=\"_blank\"\u003Eআমরা আগেই বলেছিলাম\u003C\/a\u003E। টেক্সট কনভার্ট বা ডিলিট করতে এর ব্যবহার খুব বেশি। এখানে \u003Ci\u003Etr '[:upper:]' '[:lower:]'\u003C\/i\u003E কমান্ড দিয়ে আমরা আমাদের ফাইলের সব লেখাকে ইংরেজি ছোট হাতের বানিয়ে নিলাম। তাহলে এবার কোড হলো-\u0026nbsp;\u0026nbsp;\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Cblockquote class=\"tr_bq\"\u003E\ncat star_wiki.txt | tr '[:upper:]' '[:lower:]'\u003C\/blockquote\u003E\n\u003Cul style=\"text-align: left;\"\u003E\n\u003Cli\u003Eএখনও টেক্সটটা আছে প্যারাগ্রাফ আকারে। অ্যানালাইসিসের সুবিদার্থে আমরা প্রতিটি শব্দকে আলাদা আলাদা লাইনে নিয়ে আসব। এ জন্যেই পাইপ দিয়ে পরের কমান্ডে চলে গেলাম। বাড়তি কোড লাগবে \u003Ci\u003Egrep -oE '\\w+' \u003C\/i\u003E। তাহলে সব মিলিয়ে হবে-\u0026nbsp;\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Cblockquote class=\"tr_bq\"\u003E\ncat star_wiki.txt | tr '[:upper:]' '[:lower:]' | grep -oE '\\w+'\u0026nbsp;\u003C\/blockquote\u003E\n\u003Cul style=\"text-align: left;\"\u003E\n\u003Cli\u003Eএবার আমরা শব্দগুলোকে আদ্যক্ষর অনুসারে সাজিয়ে নেব। এ জন্য লাগবে \u003Ci\u003Esort\u003C\/i\u003E কমান্ড। এবার কোড হলো-\u0026nbsp;\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Cblockquote class=\"tr_bq\"\u003E\ncat star_wiki.txt | tr '[:upper:]' '[:lower:]' | grep -oE '\\w+' | sort\u0026nbsp;\u003C\/blockquote\u003E\n\u003Cul style=\"text-align: left;\"\u003E\n\u003Cli\u003Eএখানে একাধিকবার থাকা শব্দগুলোকে একাধিকবারই দেখাচ্ছে। যেমন দেখুন উপরের দিকে অনেকগুলো a দেখা যাচ্ছে। নীচে আবার with আছে চারবার। আমরা এবার একটা শব্দকে একবারই শুধু রাখব। সাথে সেটা কয়বার ছিল সেই তথ্য নিয়ে আসব। এর জন্য কোড হলো \u003Ci\u003Euniq -c\u003C\/i\u003E। c হলো count বা গণনার জন্যে। সব মিলিয়ে এবার-\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Cblockquote class=\"tr_bq\"\u003E\ncat star_wiki.txt | tr '[:upper:]' '[:lower:]' | grep -oE '\\w+' | sort | uniq -c\u0026nbsp;\u003C\/blockquote\u003E\n\u003Cul style=\"text-align: left;\"\u003E\n\u003Cli\u003Eএটা ভালোই হলো। কিন্তু কোন শব্দগুলো বেশি আছে সেটা সহজে বোঝা যাচ্ছে না। তাই আবার \u003Ci\u003Esort \u003C\/i\u003Eকরা দরকার। যাতে বেশি ফ্রিকুয়েন্সির শব্দগুলো শুরুতে থাকে। এজন্য আমরা \u003Ci\u003Esort -nr\u003C\/i\u003E ব্যবহার করব। এখানে n মানে হলো নিউমেরিক সর্ট। আর r মানে হলো রিভার্স সর্ট। এটা না করলে বেশি ফ্রিকুয়েন্সির শব্দ থাকবে শেষে। এবার তাহলে-\u0026nbsp;\u0026nbsp;\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Cblockquote class=\"tr_bq\"\u003E\ncat star_wiki.txt | tr '[:upper:]' '[:lower:]' | grep -oE '\\w+' | sort | uniq -c | sort -nr\u003C\/blockquote\u003E\n\u003Cul style=\"text-align: left;\"\u003E\n\u003Cli\u003Eমূল কাজ আসলে শেষ। কিন্তু সব শব্দের ফ্রিকুয়েন্সি দেখে কোনো লাভ নেই। আমরা দেখব কোন দশটি শব্দ সবচেয়ে বেশি আছে। \u003Ci\u003Ehead -10\u003C\/i\u003E। অবশ্যই ১০ এর বদলে আপনি অন্য কিছি দিতেই পারেন।\u0026nbsp;\u003C\/li\u003E\n\u003Cli\u003Eতাহলে ফাইনাল কমান্ড দাঁড়াল\u0026nbsp;\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Cblockquote class=\"tr_bq\"\u003E\ncat star_wiki.txt | tr '[:upper:]' '[:lower:]' | grep -oE '\\w+' | sort | uniq -c | sort -nr | head -10\u003C\/blockquote\u003E\n\u003C\/div\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\n\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-rdAktPCvXBc\/XN2Usq95bII\/AAAAAAAAFBY\/hU3AfBxIOTEpQFeqfiXluHUo9Rd_pmyKgCEwYBhgL\/s1600\/text_linux2.PNG\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg border=\"0\" data-original-height=\"319\" data-original-width=\"874\" height=\"232\" src=\"https:\/\/1.bp.blogspot.com\/-rdAktPCvXBc\/XN2Usq95bII\/AAAAAAAAFBY\/hU3AfBxIOTEpQFeqfiXluHUo9Rd_pmyKgCEwYBhgL\/s640\/text_linux2.PNG\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\n\u003Cdiv\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\n\u003Cdiv\u003E\nএবার আমরা পেয়ে গেলাম সবচেয়ে বেশি ব্যবহৃত শব্দগুলো। চাইলে এটাকে আমরা আলাদা ফাইলে সেভও করে নিতে পারি। সেজন্যে বাড়তি লিখতে হবে\u0026nbsp;\u003Ci\u003E\u0026gt; star_wiki_top.txt\u003C\/i\u003E।\u0026nbsp;\u003C\/div\u003E\n\u003Cdiv\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\n\u003Cdiv\u003E\nকত সহজে কেল্লা ফতে হয়ে গেল!\u0026nbsp;\u003C\/div\u003E\n\u003Cdiv\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\n\u003Cdiv\u003E\nআগেই বলেছি, উইকিপিডিয়া পরিবর্তনশীল। তাই আপনার রেজাল্ট আমার রেজাল্টের সাথে নাও মিলতে পারে। তাতে কী এসে যায়? মূল বিষয়টা তো জানা হয়েই এল!\u0026nbsp;\u003C\/div\u003E\n\u003Cdiv\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\n\u003Cdiv\u003E\nহ্যাঁ, চাইলেই আপনি কাজটি R-এও করতে পারেন। কীভাবে জানতে এই \u003Ca href=\"https:\/\/www.datascienceatthecommandline.com\/chapter-4-creating-reusable-command-line-tools.html\" target=\"_blank\"\u003Eলেখাটি\u003C\/a\u003E\u0026nbsp;দেখুন। লেখাটিতে এই আমাদের আলোচিত কমান্ডগুলোর আরও অ্যাডভান্সড ব্যবহারও আলোচনা করা আছে।\u0026nbsp;\u003C\/div\u003E\n\u003Cdiv\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\n\u003Cdiv\u003E\n\u003Cb\u003Eসূত্র\u003C\/b\u003E:\u0026nbsp; Data Science at the Command Line নামের অসাধারণ বইটি। লেখক:\u0026nbsp;Jeroen Janssens\u003C\/div\u003E\n\u003C\/div\u003E\n"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/www.statmania.info\/feeds\/3050377509044429258\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/www.statmania.info\/2019\/05\/linux-text-mining.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/3050377509044429258"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/3050377509044429258"},{"rel":"alternate","type":"text/html","href":"https:\/\/www.statmania.info\/2019\/05\/linux-text-mining.html","title":"লিনাক্স ও ডেটা সায়েন্স: একটি সরল টেক্সট মাইনিং "}],"author":[{"name":{"$t":"আব্দুল্যাহ আদিল মাহমুদ"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/17462749408174996847"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"31","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEit8SKqHP7h2U7KFH71SRzI2ve5Vrmx4co6PDUV6gJtAmBpvVEYjNOhxhgOobEgy0DKuW-i1l3AMvAYEOsk1h4XDEer_Bb2FLmwEBQCfD3eJbx4HP7WzH3E_Ia6uG01yB5LJAwXSOlf0NqcsL4_l4VLWw8e394Xb8FZv40yeEQY5do8\/s220\/adil.jpg"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https:\/\/3.bp.blogspot.com\/-gg8HKLo0AJQ\/XN2Vb_Y1FxI\/AAAAAAAAFBc\/qp9_lga-qvE-5_4OykCx3385CXrJ4o7YgCLcBGAs\/s72-c\/text_mining_linux.jpg","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-1811735374964048282.post-3359718407011511649"},"published":{"$t":"2019-05-13T07:15:00.000-07:00"},"updated":{"$t":"2019-06-28T17:33:26.604-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"ds"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Linux"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Mahmud"}],"title":{"type":"text","$t":"লিনাক্স ও ডেটা সায়েন্স: tr কমান্ডের কারিশমা "},"content":{"type":"html","$t":"\u003Cdiv dir=\"ltr\" style=\"text-align: left;\" trbidi=\"on\"\u003E\nবিষয়টি অবাক করা লাগতে পারে। পরিসংখ্যানের পোর্টালে লিনাক্সের কী কাজ? আসলে বড় স্কেলে ডেটা নিয়ে কাজ করতে গেলে লিনাক্স অনেক অনেকভাবে খুব সহায়ক। যাই হোক, সে আলোচনা বিস্তারিত হবে অন্য কোথাও। আজ আপাতত tr কমান্ড নিয়ে থাকি। আসলে এই কমান্ডটাও ডেটা অ্যানালাইসিসের জন্য দারুণ কাজ করে।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\n\u003Ca href=\"https:\/\/2.bp.blogspot.com\/-Hwnnj9JVOKs\/XNl6kI_l6cI\/AAAAAAAAFBI\/CmFvyBfee2I5tfcGdekaJK7bD3Lae2U4ACLcBGAs\/s1600\/linux_ds.jpg\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg border=\"0\" data-original-height=\"1000\" data-original-width=\"1600\" height=\"400\" src=\"https:\/\/2.bp.blogspot.com\/-Hwnnj9JVOKs\/XNl6kI_l6cI\/AAAAAAAAFBI\/CmFvyBfee2I5tfcGdekaJK7bD3Lae2U4ACLcBGAs\/s640\/linux_ds.jpg\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\n\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nখুব সাধারণ একটা উদাহরণ দিয়ে শুরু করি। To follow along, আপনার লিনাক্স টার্মিনাল খুলুন। উইন্ডোজে লিনাক্সের সুবিধা ব্যবহার করতে ব্যাবহার করুন WSL। পুরো নাম উইন্ডোজ সাবসিস্টেম ফর লিনাক্স। ইনস্টল করতে সময় লাগবে এক মিনিট। \u003Ca href=\"https:\/\/www.youtube.com\/watch?v=Cvrqmq9A3tA\" target=\"_blank\"\u003Eকীভাবে করবেন দেখুন এখানে\u003C\/a\u003E।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n১। \u003Cb\u003Eস্পেসকে রিপ্লেস করতে\u003C\/b\u003E\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nদেখা যাক, স্পেসকে ডট দিয়ে রিপ্লেস করা যায় কি না।\n\u003Cbr \/\u003E\n\u003Ctextarea class=\"codebox\" id=\"txtarea\" onclick=\"SelectAll('txtarea');\" rows=\"1\" style=\"width: 580px;\"\u003Eecho \"Welcome to stat mania\" | tr [:space:] '.'\n\u003C\/textarea\u003E\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএটা থেকে আউটপুট আসবে\u0026nbsp;Welcome.to.stat.mania.\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nচাইলে কমা (,), কোলন (:) বা অন্য যে-কোনো ক্যারেক্টার দিয়েই রিপ্লেস করা যায়।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nযেমন\u0026nbsp;echo \"Welcome to stat mania\" | tr [:space:] '_' থেকে আসবে Welcome_to_stat_mania_।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nআর স্পেসকে ট্যাব দিয়ে রিপ্লেস করতে এই কোড\u003Cbr \/\u003E\n\u003Cblockquote class=\"tr_bq\"\u003E\necho \"Welcome to Stat Mania\" | tr \"[:space:]\" \"\\t\"\u003C\/blockquote\u003E\nআসবে:\u0026nbsp;Welcome to\u0026nbsp; \u0026nbsp; \u0026nbsp; Stat\u0026nbsp; \u0026nbsp; Mania\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cb\u003E২। আপার কেইস থেকে লোয়ার কেইস বা উল্টোটা\u003C\/b\u003E\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nইংরেজি ছোট হাতের অক্ষর থেকে বড় হাতের অক্ষরে রূপান্তর করতে এই কমান্ড সিদ্ধহস্ত।\u003Cbr \/\u003E\n\u003Cblockquote class=\"tr_bq\"\u003E\necho \"Weclcome to Stat Mania\" | tr \"[:upper:]\" \"[:lower:]\"\u003C\/blockquote\u003E\nআসবে: weclcome to stat mania\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nমানে, সব অক্ষর ছোট হাতের হয়ে যাবে। একইভাবে ছোট হাতের অক্ষরকে বড় হাতের করতে হলে upper আর lower কে ইন্টারচেঞ্জ করে দিতে হবে।\u003Cbr \/\u003E\n\u003Cblockquote class=\"tr_bq\"\u003E\necho \"Welcome to Stat Mania\" | tr \"[:lower:]\" \"[:upper:]\"\u003C\/blockquote\u003E\nআসবে:\u0026nbsp;WELCOME TO STAT MANIA\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএই একই কাজটি করা যায় আরেকভাবে।\u003Cbr \/\u003E\n\u003Cblockquote class=\"tr_bq\"\u003E\necho \"Welcome to Stat Mania\" | tr \"[a-z]\" \"[A-Z]\"\u003C\/blockquote\u003E\n\u003Cb\u003Eআসবে\u003C\/b\u003E:\u0026nbsp;WELCOME TO STAT MANIA\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cb\u003E৩। {} থেকে ()\u003C\/b\u003E\u003Cbr \/\u003E\n\u003Cblockquote class=\"tr_bq\"\u003E\ncat sample.txt\u0026nbsp; | tr \"{}\" \"()\"\u003C\/blockquote\u003E\nএবারে আমি sample.txt ফাইলে রেখেছিলাম এই কথা।\u003Cbr \/\u003E\nGO OFF\u003Cbr \/\u003E\n{My OS is Ubuntu}\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nকমান্ড অ্যাপ্লাই করে পেলাম\u003Cbr \/\u003E\nGO OFF\u003Cbr \/\u003E\n(My OS is Ubuntu)\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nআবার চাইলে এই কোডকে একটু বড় করে tr আবারও অ্যাপ্লাই করা যায়।\u003Cbr \/\u003E\n\u003Cblockquote class=\"tr_bq\"\u003E\ncat sample.txt\u0026nbsp; | tr \"{}\" \"()\" | tr \"[A-Z]\" \"[a-z]\"\u003C\/blockquote\u003E\nএবার এল:\u003Cbr \/\u003E\ngo off\u003Cbr \/\u003E\n(my os is ubuntu)\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cb\u003E৪। নির্দিষ্ট কোনো ক্যারেক্টার ডিলিট করতে\u003C\/b\u003E\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nঅদ্ভুত কোনো কিছু ডিলিট করতে এটা দারুণ কাজে আসবে। ডেটা সায়েন্সে ডেটা ক্লিনিং করতে এটি খুব কাজে লাগবে। যেমন ধরুন ভুলক্রমে শহরে নাম টাইপ করতে গিয়ে সব শহরের শেষে একটা বাড়তি . পড়ে গেছে। ধরুন আমরা city.csv ফাইলের শহরের লিস্ট নিয়ে কাজ করছি। এটা আছে এরকম আপাতত।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nid, city\u003Cbr \/\u003E\n1,Dhaka.\u003Cbr \/\u003E\n2, Cumilla.\u003Cbr \/\u003E\n3, Lakshmipur.\u003Cbr \/\u003E\n4, Feni.\u003Cbr \/\u003E\n5, Chandpur.\u003Cbr \/\u003E\n6, Barishal.\u003Cbr \/\u003E\n7, Rangpur.\u003Cbr \/\u003E\n8, Rajshahi.\u003Cbr \/\u003E\n9, Sylhet.\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএবার আমরা শহরের ডটগুলো মুছে ফেলব।\u003Cbr \/\u003E\n\u003Cblockquote class=\"tr_bq\"\u003E\ncat city.csv | tr -d \".\"\u003C\/blockquote\u003E\nআসবে:\u003Cbr \/\u003E\nid, city\u003Cbr \/\u003E\n1,Dhaka\u003Cbr \/\u003E\n2, Cumilla\u003Cbr \/\u003E\n3, Lakshmipur\u003Cbr \/\u003E\n4, Feni\u003Cbr \/\u003E\n5, Chandpur\u003Cbr \/\u003E\n6, Barishal\u003Cbr \/\u003E\n7, Rangpur\u003Cbr \/\u003E\n8, Rajshahi\u003Cbr \/\u003E\n9, Sylhet\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nবুঝতেই পারছেন, -d এর পরের কোটেশনের মধ্যে যা দেবেন সেটা ডিলিট হয়ে যাবে। অবশ্যই এই কমান্ড সতর্কতার সাথে ব্যবহার করতে হবে।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cb\u003E৫. নির্দিষ্ট কোনো ক্যারেক্টার রিপ্লেস করতে\u0026nbsp;\u003C\/b\u003E\u003Cbr \/\u003E\n\u003Cb\u003E\u003Cbr \/\u003E\u003C\/b\u003E\nএর আগে আমরা দেখেছি বিশেষ কিছু দিয়ে অন্য কিছু রিপ্লেস করা। এবার দেখব যে-কোনো কিছুকে যে-কোনো অন্য কিছু দিয়ে রিপ্লেস করার উপায়।\u003Cbr \/\u003E\n\u003Cblockquote class=\"tr_bq\"\u003E\necho \"Nothing is impossible\" | tr \"i\" \"P\"\u003C\/blockquote\u003E\nএখানে সবগুলো i এর বদলে P চলে আসবে।\u003Cbr \/\u003E\nআসবে:\u0026nbsp;NothPng Ps PmpossPble\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nএই আউটপুটটা দেখতে বিদঘুটে হলেও এর শক্তি কিন্তু বোঝা গেছে।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n৬. সব সংখ্যা (আসলে ডিজিট বা অঙ্ক!) ডিলিট করতে\u003Cbr \/\u003E\n\u003Cblockquote class=\"tr_bq\"\u003E\necho \"My roll number is 123\" | tr -d \"[:digit:]\"\u003C\/blockquote\u003E\nহয়ে যাবে:\u0026nbsp;My roll number is\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nআবার উল্টোও করা যাবে। মানে ডিজিট থাকবে। আর সব মুছে যাবে। তাহলে এই কোড:\u003Cbr \/\u003E\n\u003Cblockquote class=\"tr_bq\"\u003E\necho \"My roll number is 123\" | tr -cd \"[:digit:]\"\u003C\/blockquote\u003E\nআসবে: 123\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nদেখা যাচ্ছে, R এর পাশাপাশি লিনাক্স টার্মিনালও ডেটা সায়েন্সের একটা দারুণ টুল হতে পারে। ভবিষ্যতে আমরা আরও নানান কোড দেখব। টার্মিনাল থেকে গ্রাফ আঁকা থেকে শুরু করে মডেলিং পর্যন্ত করা যায়। অবশ্যই আমরা এগুলো দেখব ইনশাআল্লাহ।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nসূত্র:\u003Cbr \/\u003E\n১। \u003Ca href=\"https:\/\/www.geeksforgeeks.org\/tr-command-in-unix-linux-with-examples\/\" target=\"_blank\"\u003EGeeksforgeeks\u003C\/a\u003E\u003C\/div\u003E\n"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/www.statmania.info\/feeds\/3359718407011511649\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/www.statmania.info\/2019\/05\/linux-tr.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/3359718407011511649"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/3359718407011511649"},{"rel":"alternate","type":"text/html","href":"https:\/\/www.statmania.info\/2019\/05\/linux-tr.html","title":"লিনাক্স ও ডেটা সায়েন্স: tr কমান্ডের কারিশমা "}],"author":[{"name":{"$t":"আব্দুল্যাহ আদিল মাহমুদ"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/17462749408174996847"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"31","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEit8SKqHP7h2U7KFH71SRzI2ve5Vrmx4co6PDUV6gJtAmBpvVEYjNOhxhgOobEgy0DKuW-i1l3AMvAYEOsk1h4XDEer_Bb2FLmwEBQCfD3eJbx4HP7WzH3E_Ia6uG01yB5LJAwXSOlf0NqcsL4_l4VLWw8e394Xb8FZv40yeEQY5do8\/s220\/adil.jpg"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https:\/\/2.bp.blogspot.com\/-Hwnnj9JVOKs\/XNl6kI_l6cI\/AAAAAAAAFBI\/CmFvyBfee2I5tfcGdekaJK7bD3Lae2U4ACLcBGAs\/s72-c\/linux_ds.jpg","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-1811735374964048282.post-1123100346172378300"},"published":{"$t":"2019-04-26T12:49:00.000-07:00"},"updated":{"$t":"2023-04-24T10:23:14.368-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"bar"},{"scheme":"http://www.blogger.com/atom/ns#","term":"ds"},{"scheme":"http://www.blogger.com/atom/ns#","term":"ggplot2"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Mahmud"},{"scheme":"http://www.blogger.com/atom/ns#","term":"plot"},{"scheme":"http://www.blogger.com/atom/ns#","term":"R"},{"scheme":"http://www.blogger.com/atom/ns#","term":"RColorBrewer"},{"scheme":"http://www.blogger.com/atom/ns#","term":"visualization"}],"title":{"type":"text","$t":"R প্রোগ্রামিং: ggplot2 দিয়ে স্ট্যাকড ও গ্রুপড বার চার্ট "},"content":{"type":"html","$t":"\u003Cdiv dir=\"ltr\" style=\"text-align: left;\" trbidi=\"on\"\u003E\nবেইজ R দিয়েও সহজেই দুই ধরনের বার চার্টই আঁকা যায়। তবে ggplot2 দিয়ে আকাঁ চার্টের দিকে তাকিয়ে থাকতে ইচ্ছে করবে। আজ আমরা নীচের বার চার্টটি আঁকব।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\n\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-ASfGNbnqju4\/XMNXj11FWWI\/AAAAAAAAE_4\/McFMXMo1pxkdtfLUOWJsr5W2WN9o_PBuQCLcBGAs\/s1600\/grouped_bar.jpeg\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg border=\"0\" data-original-height=\"494\" data-original-width=\"693\" height=\"456\" src=\"https:\/\/1.bp.blogspot.com\/-ASfGNbnqju4\/XMNXj11FWWI\/AAAAAAAAE_4\/McFMXMo1pxkdtfLUOWJsr5W2WN9o_PBuQCLcBGAs\/s640\/grouped_bar.jpeg\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\nএটাই আঁকব। তবে ধাপে ধাপে দেখা যাক।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nও আচ্ছা। এই লেখায় আমরা\u0026nbsp;gcookbook প্যাকেজের ডেটা ব্যবহার করব। তাই, ভালো হয় প্যাকেজটি ইনস্টল ও লোড করে নিন।\u003Cbr \/\u003E\n\u003Cblockquote class=\"tr_bq\"\u003E\ninstall.packages(\"gcookbook\")\u003Cbr \/\u003E\nlibrary(gcookbook)\u003C\/blockquote\u003E\n\u003Cdiv\u003E\nএই প্যাকেজের\u0026nbsp;cabbage_exp ডেটা ব্যবহার করব। আপনি \u003Ca href=\"https:\/\/www.statmania.info\/2018\/02\/install-r.html\" target=\"_blank\"\u003ERstudio\u003C\/a\u003E\u0026nbsp;ব্যবহার না করে থাকলে এই ডেটা লোড করে নিন। data(cabbage_exp) কমান্ড দিয়ে।\u0026nbsp;\u003C\/div\u003E\n\u003Cdiv\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\n\u003Cdiv\u003E\nএবার আকাঁ শুরু করা যাক।\u0026nbsp;\u003C\/div\u003E\n\u003Cdiv\u003E\n\u003Cblockquote class=\"tr_bq\"\u003E\nggplot(cabbage_exp,aes(x=Date, y=Weight, fill=Cultivar))+\u003Cbr \/\u003E\n\u0026nbsp; geom_bar(position = \"dodge\", stat = \"identity\")+\u003Cbr \/\u003E\n\u0026nbsp; ggtitle(\"Grouped Bar Chart of Weight by Cultivar\")\u003C\/blockquote\u003E\n\u003C\/div\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\n\u003Ca href=\"https:\/\/3.bp.blogspot.com\/-2cOVheqrx_U\/XMNZgW1axCI\/AAAAAAAAFAE\/afqWqv_xh1I5NUnYedp6jQNqolwf6GQEwCLcBGAs\/s1600\/grouped_bar.jpeg\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg border=\"0\" data-original-height=\"494\" data-original-width=\"693\" height=\"456\" src=\"https:\/\/3.bp.blogspot.com\/-2cOVheqrx_U\/XMNZgW1axCI\/AAAAAAAAFAE\/afqWqv_xh1I5NUnYedp6jQNqolwf6GQEwCLcBGAs\/s640\/grouped_bar.jpeg\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\n\u003Cdiv\u003E\nএখানে position = \"dodge\" দেওয়াতে বারগুলো পাশাপাশি বসেছে। এটাই গ্রুপড বার চার্ট করার কমান্ড। স্ট্যাকড বার তৈরি করতে হলে এখানে দিতে হবে \"stack\"। আর stat = \"identity\" দিতে হয়েছে, কারণ cabbage_exp ডেটায় weight এর মানগুলো সরাসরি দেওয়া আছে। এভাবে না থেকে ধরুন এভাবে থাকল, \"Male\", \"Male\", \"Female\", \"Male\", \"Female\"। এখান থেকে Rকে হিসবে করে নিতে হত কোন গ্রুপে কয়টা আছে। সেক্ষেত্রে আমরা দিতাম stat=\"count\"। অবশ্য এই অপশনটা ডিফল্ট কাজ করে বলে কিছুই না দিলেও চলবে।\u0026nbsp;\u003C\/div\u003E\n\u003Cdiv\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\n\u003Cdiv\u003E\nএবার আমরা কিছু অপশন পাল্টে দেখি।\u0026nbsp;\u003C\/div\u003E\n\u003Cdiv\u003E\n\u003Cul style=\"text-align: left;\"\u003E\n\u003Cli\u003Eআমরা গ্রুপড না করে স্ট্যাকড বার আঁকব। position = \"stack\"\u003C\/li\u003E\n\u003Cli\u003Eঅটো কালারে বদলে RColorBrewer\u0026nbsp;প্যাকেজ দিয়ে কালার দেব। \u003Ca href=\"https:\/\/www.statmania.info\/2019\/04\/r-ggplot2-rcolorbrewer.html\" target=\"_blank\"\u003Eআরও দেখুন এখানে\u003C\/a\u003E।\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Cdiv\u003E\n\u003Cblockquote class=\"tr_bq\"\u003E\nggplot(cabbage_exp,aes(x=Date, y=Weight, fill=Cultivar))+\u003Cbr \/\u003E\n\u0026nbsp; geom_bar(position = \"stack\", stat = \"identity\")+\u003Cbr \/\u003E\n\u0026nbsp; scale_fill_brewer(palette = \"Paired\")+\u003Cbr \/\u003E\n\u0026nbsp; ggtitle(\"Grouped Bar Chart of Weight by Cultivar\")\u003C\/blockquote\u003E\n\u003C\/div\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\n\u003Ca href=\"https:\/\/4.bp.blogspot.com\/-3e64wk-Tx68\/XMNcaFnPpiI\/AAAAAAAAFAQ\/Xz8Z7qaH5lwfEZQTN6OOS-9aiX8OFcZQgCLcBGAs\/s1600\/stacked_bar.jpeg\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg border=\"0\" data-original-height=\"494\" data-original-width=\"693\" height=\"456\" src=\"https:\/\/4.bp.blogspot.com\/-3e64wk-Tx68\/XMNcaFnPpiI\/AAAAAAAAFAQ\/Xz8Z7qaH5lwfEZQTN6OOS-9aiX8OFcZQgCLcBGAs\/s640\/stacked_bar.jpeg\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\n\u003Cdiv\u003E\nএবার আমরা\u0026nbsp;\u003C\/div\u003E\n\u003Cul style=\"text-align: left;\"\u003E\n\u003Cli\u003Eবারের সাথে প্রতি বারের মান দেখাব।\u0026nbsp;\u003C\/li\u003E\n\u003Cli\u003Eআমরা বারগুলো খাড়া না রেখে অনুভূমিক করে দেব। এজন্য বাড়তি কোড:\u0026nbsp;coord_flip()\u003C\/li\u003E\n\u003Cli\u003Eএক্ষেত্রে স্ট্যাকড এর চেয়ে গ্রুপড বার ভাল দেখায় বলে আমরা আবারও position=\"dodge\" ব্যবহার করব।\u0026nbsp;\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Cdiv\u003E\n\u003Cblockquote class=\"tr_bq\"\u003E\nggplot(cabbage_exp,aes(x=Date, y=Weight, fill=Cultivar))+\u003Cbr \/\u003E\n\u0026nbsp; geom_bar(position = \"dodge\", stat = \"identity\")+\u003Cbr \/\u003E\n\u0026nbsp; scale_fill_brewer(palette = \"Paired\")+\u003Cbr \/\u003E\n\u0026nbsp; geom_text(aes(label=Weight), vjust=1.5, colour=\"black\",\u003Cbr \/\u003E\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; position=position_dodge(0.9), size=4)+\u003Cbr \/\u003E\n\u0026nbsp; coord_flip()+\u003Cbr \/\u003E\n\u0026nbsp; ggtitle(\"Grouped Bar Chart of Weight by Cultivar\")\u003C\/blockquote\u003E\n\u003C\/div\u003E\n\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\n\u003Ca href=\"https:\/\/2.bp.blogspot.com\/-BQqZlEmR130\/XMNeVS8Gc1I\/AAAAAAAAFAc\/5pDNYYsxM2EsWwnMXueNDO-anN-OgU1GgCLcBGAs\/s1600\/grouped_flip_bar.jpeg\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"\u003E\u003Cimg border=\"0\" data-original-height=\"494\" data-original-width=\"693\" height=\"456\" src=\"https:\/\/2.bp.blogspot.com\/-BQqZlEmR130\/XMNeVS8Gc1I\/AAAAAAAAFAc\/5pDNYYsxM2EsWwnMXueNDO-anN-OgU1GgCLcBGAs\/s640\/grouped_flip_bar.jpeg\" width=\"640\" \/\u003E\u003C\/a\u003E\u003C\/div\u003E\n\u003Cdiv\u003E\n\u003Cbr \/\u003E\u003C\/div\u003E\n\u003Cdiv\u003E\nআমরা পেয়ে গেলাম কাঙ্খিত চার্ট। সরল বার চার্ট আঁকার কৌশল \u003Ca href=\"https:\/\/www.statmania.info\/2019\/04\/r-ggplot2-rcolorbrewer.html\" target=\"_blank\"\u003Eদেখে নিন এখানে\u003C\/a\u003E।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Cb\u003Eপুনশ্চ\u003C\/b\u003E: dplyr বা magrittr প্যাকেজ লোড করা থাকলে ggplot(cabbage_exp,aes অংশটুকুকে আরও সহজ করেও লেখা যায়।\u003Cbr \/\u003E\n\u003Cbr \/\u003E\ncabbage_exp\u0026nbsp;%\u0026gt;% ggplot(aes(...\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n%\u0026gt;% কে বলা হই পাইপ অপারেটর। dplyr প্যাকেজে এটার ব্যবহার খুব দারুণ।\u0026nbsp;\u003C\/div\u003E\n\u003C\/div\u003E\n\u003C\/div\u003E\n"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/www.statmania.info\/feeds\/1123100346172378300\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/www.statmania.info\/2019\/04\/grouped-bar-r.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/1123100346172378300"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/1811735374964048282\/posts\/default\/1123100346172378300"},{"rel":"alternate","type":"text/html","href":"https:\/\/www.statmania.info\/2019\/04\/grouped-bar-r.html","title":"R প্রোগ্রামিং: ggplot2 দিয়ে স্ট্যাকড ও গ্রুপড বার চার্ট "}],"author":[{"name":{"$t":"আব্দুল্যাহ আদিল মাহমুদ"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/17462749408174996847"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"31","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEit8SKqHP7h2U7KFH71SRzI2ve5Vrmx4co6PDUV6gJtAmBpvVEYjNOhxhgOobEgy0DKuW-i1l3AMvAYEOsk1h4XDEer_Bb2FLmwEBQCfD3eJbx4HP7WzH3E_Ia6uG01yB5LJAwXSOlf0NqcsL4_l4VLWw8e394Xb8FZv40yeEQY5do8\/s220\/adil.jpg"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https:\/\/1.bp.blogspot.com\/-ASfGNbnqju4\/XMNXj11FWWI\/AAAAAAAAE_4\/McFMXMo1pxkdtfLUOWJsr5W2WN9o_PBuQCLcBGAs\/s72-c\/grouped_bar.jpeg","height":"72","width":"72"},"thr$total":{"$t":"0"}}]}});