ฉันมักจะจบลงด้วยฟังก์ชันที่สร้างเอาต์พุตซึ่งฉันไม่เข้าใจประเภทข้อมูลเอาต์พุต ฉันคาดหวังว่าจะได้รายการและจะกลายเป็นรายการหรือกรอบข้อมูลหรืออย่างอื่น วิธีการหรือขั้นตอนการทำงานที่ดีในการหาชนิดข้อมูลเอาต์พุตเมื่อใช้ฟังก์ชันครั้งแรกเป็นอย่างไร
ฉันมักจะจบลงด้วยฟังก์ชันที่สร้างเอาต์พุตซึ่งฉันไม่เข้าใจประเภทข้อมูลเอาต์พุต ฉันคาดหวังว่าจะได้รายการและจะกลายเป็นรายการหรือกรอบข้อมูลหรืออย่างอื่น วิธีการหรือขั้นตอนการทำงานที่ดีในการหาชนิดข้อมูลเอาต์พุตเมื่อใช้ฟังก์ชันครั้งแรกเป็นอย่างไร
คำตอบ:
ฉันมักจะเริ่มต้นด้วยการรวมกันของ:
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)
..etc
ถ้าobj
เป็น S3 หรือ S4 วัตถุคุณยังสามารถลองmethods
หรือshowMethods
, showClass
ฯลฯ แพทริคเบิร์นส์R นรกมีส่วนที่ดีงามเกี่ยวกับเรื่องนี้ (วินาที # 7)
แก้ไข : เดิร์กและแฮดลีย์พูดถึงstr(obj)
ในคำตอบของพวกเขา มันดีกว่าข้อใด ๆ ข้างต้นมากสำหรับการมองวัตถุอย่างรวดเร็วและละเอียด
ถ้าฉันได้รับ 'someObject' ให้พูดผ่าน
someObject <- myMagicFunction(...)
จากนั้นฉันมักจะดำเนินการต่อโดย
class(someObject)
str(someObject)
ซึ่งสามารถตามด้วย head (), summary (), print (), ... ขึ้นอยู่กับคลาสที่คุณมี
attributes(someObject)
ยังสามารถมีประโยชน์