我经常最终得到一个产生输出的函数,我不理解输出数据类型。我期待一个列表,它最终成为列表或数据框或其他内容的列表。首次使用函数时,确定输出数据类型的好方法或工作流程是什么?
答案 0 :(得分:120)
我通常从以下组合开始:
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
等.Patrick Burns'R Inferno有一个相当不错的部分(第7段)。
编辑:Dirk和Hadley在答案中提到str(obj)
。对于快速甚至详细的窥视对象,它确实比上述任何一个好得多。
答案 1 :(得分:58)
str(x)
99%的案例都需要记住这一点。
答案 2 :(得分:12)
如果我得到'someObject',请通过
说someObject <- myMagicFunction(...)
然后我通常按
进行class(someObject)
str(someObject)
后面可以跟head(),summary(),print(),...取决于你所拥有的类。
答案 3 :(得分:8)
attributes(someObject)
也可以有用