R对象识别
我经常结束一个函数产生输出,我不明白输出数据types。 我期待一个列表,它最终是列表或数据框或其他东西的列表。 首次使用函数时,计算输出数据types的好方法或工作stream程是什么?
我通常从一些组合开始:
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)
也可以是有用的