আর বস্তুর পরিচয়


119

আমি প্রায়শই একটি ফাংশন উত্পাদন আউটপুট দিয়ে শেষ করছি যার জন্য আমি আউটপুট ডেটার ধরণটি বুঝতে পারি না। আমি একটি তালিকা প্রত্যাশা করছি এবং এটি তালিকা বা ডেটা ফ্রেম বা অন্য কিছু হতে পারে। প্রথমে কোনও ফাংশন ব্যবহার করার সময় আউটপুট ডেটা টাইপ বের করার জন্য একটি ভাল পদ্ধতি বা ওয়ার্কফ্লো কী?

উত্তর:


126

আমি সাধারণত কিছু সংমিশ্রণ দিয়ে শুরু করি:

typeof(obj)
class(obj)
sapply(obj, class)
sapply(obj, attributes)
attributes(obj)
names(obj)

যা প্রকাশিত হয়েছে তার উপর ভিত্তি করে যথাযথ উদাহরণস্বরূপ, এর সাথে চেষ্টা করুন:

obj <- data.frame(a=1:26, b=letters)
obj <- list(a=1:26, b=letters, c=list(d=1:26, e=letters))
data(cars)
obj <- lm(dist ~ speed, data=cars)

তারতম্য.এটি।

যদি objএকটি এস 3 বা এস 4 অবজেক্ট, এছাড়াও আপনি চেষ্টা করে দেখতে পারেন methodsঅথবা showMethods, showClassইত্যাদি প্যাট্রিক বার্নস ' আর নরক এই একটি প্রশংসনীয় ভাল অধ্যায় (এসইসি # 7) আছে।

সম্পাদনা : ডার্ক এবং হ্যাডলি str(obj)তাদের উত্তরে উল্লেখ করেছেন। কোনও বস্তুতে তাত্ক্ষণিক এমনকি এমনকি বিশদরূপে দেখার জন্য উপরেরগুলির তুলনায় এটি সত্যই অনেক ভাল।


1
আমি মনে করি না যে আমি আর ইনফার্নোর মাধ্যমে এটি তৈরি করেছি। আমাকে সেখানে ফেরত পাঠানোর জন্য ধন্যবাদ।
জেডি লং

3
আপনি যদি এটি ইতিমধ্যে না দেখে থাকেন তবে "15 পৃষ্ঠাগুলি বা তারও কম সংখ্যায় এস 4 অবজেক্টস" [ স্ট্যাটাস.অাকল্যান্ড.এইজ / এস- ওয়ার্কশপ / জেন্টলম্যান / এস 4 ওজেক্টস.পিডিএফ ] আরও ভাল পঠিত (আরও বিশদ সহ) is
Ars

আমি এটা দেখতে পাইনি। লিঙ্কের জন্য ধন্যবাদ। ভর্তি মূল্য ছিল যে মূল্য। :)
জেডি লং

আমি একটি সামান্য ইউটিলিটি ফাংশন তৈরি করেছি যা এই পরামর্শটিকে এনকোড করে। #MeAboutThis.r

65
str(x)

99% কেসগুলির জন্য আপনাকে যা মনে রাখা দরকার তা এটি।


2
str(x, max.level=1)x যদি একাধিক স্তরযুক্ত ggplot হয় তবে এটি কার্যকর হতে পারে!
প্যাট্রিকটি

7
স্ট্র (ইউটিচার) মনে রাখা শক্ত, কারণ আমি "স্ট্রিং" ভাবছি তবে ওহ, এত দরকারী useful শুধু দশবার স্ট্রাকচার বলতে হবে।
দিমিত্রি

13

যদি আমি 'সাময়িক অবজেক্ট' পাই তবে এর মাধ্যমে বলুন

someObject <- myMagicFunction(...)

তাহলে আমি সাধারণত এগিয়ে যাই

class(someObject)
str(someObject)

যা আপনার (আপনার) ক্লাসের উপর নির্ভর করে শিরোনাম (), সারাংশ (), মুদ্রণ (), দ্বারা অনুসরণ করা যেতে পারে।


শুধু চেষ্টা করেছেন str (আপত্তি)। স্ট্রিং প্রতিনিধিত্ব থেকে আমার প্রত্যাশার চেয়ে বেশি উপায়; খুব ঝরঝরে! ধন্যবাদ।
আর্স

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.