বু

বুলিয়ান মধ্যে R

১টি অনুশীলনী

বুলিয়ান সম্পর্কে

R-এ বুলিয়ান

ট্রু বা ফলস মান R-এ logical টাইপ দিয়ে প্রকাশ করা হয়। এতে মাত্র দুটি মান থাকে: TRUE এবং FALSE.

TRUE
#> [1] TRUE
FALSE
#> [1] FALSE
typeof(TRUE)
#> [1] "logical"

বুলিয়ান অপারেটর

R-এ মোট পাঁচটি বুলিয়ান অপারেটর আছে।

!TRUE # FALSE (not)
TRUE && FALSE # FALSE (scalar and)
TRUE || FALSE # TRUE (scalar or)

TRUE & FALSE # FALSE (vector and)
TRUE | FALSE # TRUE (vector or)

&& আর & হলো বুলিয়ান "অ্যান্ড"। &&-এর দুই পাশের এক্সপ্রেশনই TRUE হলে এদের ফলাফল TRUE হয়।

|| আর | হলো বুলিয়ান "অর"। ||-এর যেকোনো এক পাশের এক্সপ্রেশন TRUE হলে এদের ফলাফল TRUE হয়।

লক্ষ্য করুন, অ্যান্ড/অর অপারেটরের দুটি সেট রয়েছে।

  • দুই অক্ষরের সংস্করণগুলো একক মানের উপর কাজ করে।
  • এক অক্ষরের সংস্করণগুলো ভেক্টরের উপর এলিমেন্ট ধরে ধরে কাজ করে, যার ফলে বুলিয়ানগুলোর একটি ভেক্টর পাওয়া যায়।

এই পার্থক্যটি vector-filtering ধারণায় গুরুত্বপূর্ণ হয়ে উঠবে, এবং সম্ভবত আরও স্পষ্টও হবে।

উপরের উদাহরণে একক মানের উপর & আর | ব্যবহার করা কাজ করে, কারণ এগুলোকে দৈর্ঘ্য ১-এর ভেক্টর হিসেবে ধরা হয়। দুই অক্ষরের অপারেটরগুলোর তুলনায় এই আচরণ সূক্ষ্মভাবে আলাদা, কারণ কেবল ওই অপারেটরগুলোই "শর্ট-সার্কিটিং": বাঁ দিকের মানটি ফলাফল নির্ধারণের জন্য যথেষ্ট হলে ডান দিকের মানটি আর মূল্যায়ন করা হয় না। তাই TRUE || anything-এর ফলাফল সবসময়ই TRUE, anything যে-ই লজিক্যাল এক্সপ্রেশন বোঝাক না কেন, ফলে anything-কে উপেক্ষা করা হয়।

ভেক্টরের (দৈর্ঘ্য ২ বা তার বেশি) উপর && বা || ব্যবহার করলে তুলনায় কেবল প্রথম এলিমেন্টটিই ব্যবহৃত হয়, ফলে একটি মাত্র TRUE/FALSE পাওয়া যায় এবং সম্ভবত একটি ওয়ার্নিং মেসেজও। এটি সম্ভবত আপনি যা চেয়েছিলেন তা নয়।

! হলো বুলিয়ান "নট"। এটি TRUE আর FALSE মান পরস্পরের সাথে বদলে দেয়।

!TRUE
#> [1] FALSE
!FALSE
#> [1] TRUE

আরও দীর্ঘ ও জটিল এক্সপ্রেশনের ক্ষেত্রে নিজের উদ্দেশ্য স্পষ্ট করার জন্য বন্ধনী ব্যবহার করাই সবচেয়ে ভালো।

(TRUE || FALSE) && (FALSE && TRUE)
#> [1] FALSE

TRUE || FALSE && (FALSE && TRUE)
#> [1] TRUE

এক্সক্লুসিভ অরের (অর্থাৎ A অথবা B, কিন্তু দুটোই নয়) জন্য কোনো ইনফিক্স অপারেটর নেই। এক্ষেত্রে xor() ফাংশনটি ব্যবহার করা যায়।

xor(TRUE, FALSE)
#> [1] TRUE
xor(TRUE, TRUE)
#> [1] FALSE
GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি নতুন একটি উইন্ডো বা ট্যাবে খুলবে

বুলিয়ান শিখুন