簡體   English   中英

R對象識別

[英]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對象,則還可以嘗試methodsshowMethodsshowClassshowClass 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM