我经常最终得到一个产生输出的函数,但是我并不理解其输出数据类型。我期待一个列表,它最终是一个列表或数据框架或其他东西的列表。在第一次使用函数时,什么是计算输出数据类型的好方法或工作流程?
如果我得到‘ some Object’,说 via
someObject <- myMagicFunction(...)
然后我通常会经过
class(someObject) str(someObject)
后面可以跟头()、摘要()、打印()、 ... ,这取决于您所使用的类。
attributes(someObject)
也能派上用场
我通常从以下几个组合开始:
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)的 地狱之火有一个相当不错的章节(第7节)。
obj
methods
showMethods
showClass
德克和哈德利在回答中提到了 str(obj)。对于快速甚至详细地窥视一个对象,它确实比上面的任何一个都要好得多。
str(obj)
str(x)
99% 的病例都需要记住这个。