দুটি আর প্রশ্ন:
- একটি ভেরিয়েবলের টাইপ (ফিরে আসা
typeof
) এবং ক্লাসের (ফেরতclass
) মধ্যে পার্থক্য কী? C ++ ভাষার মধ্যে পার্থক্য কি একইরকম? - ভেরিয়েবলের সম্ভাব্য প্রকার ও শ্রেণি কী কী?
উত্তর:
আর-তে প্রতিটি "অবজেক্ট" এর a mode
এবং a থাকে class
। প্রাক্তন প্রতিনিধিত্ব করে যে কীভাবে কোনও বস্তু মেমরিতে সংরক্ষণ করা হয় (সংখ্যাসূচক, চরিত্র, তালিকা এবং ফাংশন) যখন পরবর্তীকালে এটি বিমূর্ত প্রকারের প্রতিনিধিত্ব করে। উদাহরণ স্বরূপ:
d <- data.frame(V1=c(1,2))
class(d)
# [1] "data.frame"
mode(d)
# [1] "list"
typeof(d)
# list
আপনি দেখতে পাচ্ছেন যে ডেটা ফ্রেমগুলি মেমরিতে সংরক্ষণ করা হয় list
তবে সেগুলি data.frame
বস্তুগুলিতে আবৃত থাকে । পরেরটি সদস্যের ফাংশনগুলির পাশাপাশি print
কাস্টম আচরণের সাথে ওভারলোডিং ফাংশনগুলি ব্যবহারের অনুমতি দেয়।
typeof
( storage.mode
) সাধারণত হিসাবে mode
সর্বদা হিসাবে একই তথ্য দেবে । বিন্দু ক্ষেত্রে:
typeof(c(1,2))
# [1] "double"
mode(c(1,2))
# [1] "numeric"
এর পিছনে যুক্তি এখানে পাওয়া যাবে :
আর নির্দিষ্ট ফাংশন typeof একটি r- বস্তুর টাইপ ফেরৎ
ফাংশন মোড বেকার, চেম্বারস এবং উইলকস (1988) অর্থে কোনও অবজেক্টের মোড সম্পর্কে তথ্য দেয় এবং এস ভাষার অন্যান্য প্রয়োগের সাথে আরও সুসংগত
লিঙ্ক আছে যা আমি উপরে পোস্ট এছাড়াও সমস্ত নেটিভ আর একটি তালিকা রয়েছে basic types
(ভেক্টর, তালিকা ইত্যাদি) এবং সমস্ত compound objects
(বিষয়গুলি এবং data.frames) ভাল কিভাবে কিছু উদাহরণ হিসেবে mode
, typeof
এবং class
প্রতিটি টাইপ জন্য সম্পর্কিত হয়।
oldClass(matrix(1:10, 2,5)) # NULL
type
আর-এ উপলব্ধ বিভিন্ন ডেটা স্ট্রাকচারকে সত্যই বোঝায় the আর ভাষা সংজ্ঞা ম্যানুয়ালটিতে এই আলোচনা আপনাকে অবজেক্ট এবং প্রকারের জন্য শুরু করতে পারে।
অন্যদিকে, class
আর এর অর্থ যা আপনি আশা করতে পারেন তার চেয়ে অন্য কিছু। থেকে আর ভাষা সংজ্ঞা ম্যানুয়াল (যে আর এর সংস্করণের সাথে এসে):
2.2.4 ক্লাস
আর এর একটি বিস্তৃত শ্রেণিবদ্ধ ব্যবস্থা 1 রয়েছে যা মূলত শ্রেণীর বৈশিষ্ট্যের মাধ্যমে নিয়ন্ত্রিত হয়। এই বৈশিষ্ট্যটি এমন একটি অক্ষর ভেক্টর যা ক্লাসগুলির তালিকা সহ কোনও বস্তুর উত্তরাধিকার সূত্রে প্রাপ্ত। এটি আর-তে "জেনেরিক পদ্ধতিগুলি" কার্যকারিতার ভিত্তি তৈরি করে
এই বৈশিষ্ট্যটি ব্যবহারকারীর দ্বারা সীমাবদ্ধতা ছাড়াই অ্যাক্সেস করতে এবং কার্যত হেরফের করা যায়। শ্রেণীর পদ্ধতিগুলি প্রত্যাশা করে এমন কোনও উপাদান আসলে এমন উপাদানগুলি ধারণ করে তা পরীক্ষা করে দেখা যায় না। সুতরাং, শ্রেণি বৈশিষ্ট্য পরিবর্তন করে সাবধানতার সাথে করা উচিত, এবং যখন তারা উপলব্ধ থাকে নির্দিষ্ট সৃজন এবং জবরদস্তি কার্যকারিতা পছন্দ করা উচিত।