[英]R object identification
我經常以產生輸出的函數結束,而該函數不了解其輸出數據類型。 我期望有一個列表,它最終是列表列表或數據框或其他東西。 首次使用函數時,找出輸出數據類型的好方法或工作流程是什么?
我通常從以下幾種組合開始:
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
是S3或S4對象,則還可以嘗試methods
或showMethods
, showClass
等showClass
Burns的R Inferno對此有很好的介紹(第7節)。
編輯 :德克和哈德利在回答中提到了str(obj)
。 確實比上面的任何一個都要好得多,它可以使您快速,甚至詳細地查看對象。
str(x)
這是您在99%的情況下需要記住的所有內容。
如果我得到“ someObject”,請通過
someObject <- myMagicFunction(...)
然后我通常會繼續
class(someObject)
str(someObject)
可以跟在head(),summary(),print()等后面,具體取決於您所擁有的類。
attributes(someObject)
也可能有用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.