我意识到str()
向分配的对象(如果分配了)返回了NULL
并读取了一点,我注意到这是因为str()
使用了invisible()
函数引擎盖。 str()
上是否有任何禁用该参数的参数,因此它实际上可以返回对象的结构?
答案 0 :(得分:2)
str()
的原因是它打印到控制台的副作用,而不是返回值。就是说,如果要捕获该文本并将其存储在对象中,而不是将其打印到控制台,则可以使用功能capture.output()
。这是一个示例:
x <- capture.output(str(mtcars))
x[1:4]
# [1] "'data.frame':\t32 obs. of 11 variables:"
# [2] " $ mpg : num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ..."
# [3] " $ cyl : num 6 6 4 6 8 6 8 4 4 6 ..."
# [4] " $ disp: num 160 160 108 258 360 ..."
cat(x[1:4], sep="\n")
# 'data.frame': 32 obs. of 11 variables:
# $ mpg : num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
# $ cyl : num 6 6 4 6 8 6 8 4 4 6 ...
# $ disp: num 160 160 108 258 360 ...