有没有办法以明确且人类可读的方式显示 R 对象的完整内部结构?
该str
函数并没有完全做到这一点,因为它显示了自定义表示。例如,将其应用于 igraph 对象会给出类似
IGRAPH U--- 3 3 -- Full graph
+ attr: name (g/c), loops (g/x)
+ edges:
[1] 1--2 1--3 2--3
这很好并且可读,但它特定于 igraph 对象(很明显它为它们使用了自定义格式)。我正在寻找一般的东西。我找到dput
了,有一段时间我认为这提供了完整的信息。相同的 igraph 对象显示为
structure(list(3, FALSE, c(1, 2, 2), c(0, 0, 1), c(0, 1, 2),
c(0, 1, 2), c(0, 0, 1, 3), c(0, 2, 3, 3), list(c(1, 0, 1),
structure(list(name = "Full graph", loops = FALSE), .Names = c("name",
"loops")), list(), list())), class = "igraph")
但后来我阅读了 R 语言定义中的配对列表,我注意到 dput(pairlist(1,2))
给出了list(1,2)
. 我们从配对列表开始的信息消失了。
那么是否有类似的东西dput
显示 R 对象的内部结构并提供有关它的完整信息?(我想要这个的主要原因是它可以帮助我更好地理解 R 对象的结构。)
如果没有,我将如何查询 R 对象以获取有关它的足够信息(以人类可读的方式——不是机器可读的)以便能够完全重建它?