我经常会得到一个产生输出的函数,但我不了解它的输出数据类型。我期待一个列表,它最终成为列表列表或数据框或其他东西。首次使用函数时确定输出数据类型的好方法或工作流程是什么?
问问题
118712 次
4 回答
135
我通常从以下组合开始:
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
or showMethods
,showClass
等。Patrick Burns 的R Inferno对此有很好的部分(第 7 节)。
编辑:Dirk 和 Hadleystr(obj)
在他们的回答中提到。对于快速甚至详细地窥视对象,它确实比上述任何方法都要好得多。
于 2009-07-24T15:00:44.443 回答
69
str(x)
对于 99% 的案例,您只需要记住这些。
于 2009-07-26T14:13:18.870 回答
13
如果我得到“someObject”,请说通过
someObject <- myMagicFunction(...)
然后我通常会继续
class(someObject)
str(someObject)
后面可以是 head()、summary()、print()、...,具体取决于您所拥有的课程。
于 2009-07-24T14:31:39.657 回答
9
attributes(someObject)
也可以有用
于 2009-07-24T14:36:31.240 回答