有没有办法以明确且人类可读的方式显示 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 对象以获取有关它的足够信息(以人类可读的方式——不是机器可读的)以便能够完全重建它?