gpt4 book ai didi

r - 显示 R 对象的内部结构

转载 作者:行者123 更新时间:2023-12-04 14:02:26 26 4
gpt4 key购买 nike

有没有办法以明确且人类可读的方式显示 R 对象的完整内部结构?
str function 并没有完全做到这一点,因为它显示了自定义表示。例如,将它应用于 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 对象以获取有关它的足够信息(以人类可读的方式——不是机器可读的)以能够完全重建它?

最佳答案

除了我的评论之外,我没有更多要添加的内容,所以这只是为了后代的完整性:)
dput正在做你想做的事。除了极少数异常(exception),其中之一是 pairlist (我认为可能还有其他异常(exception),但我实际上并不知道它们是什么),它不会是完全相同的对象,但是,至少在 pairlist 的情况下这是有原因的。自 pairlist不应在内部代码之外使用,dput 的输出通过将内部对象转换为等效的外部对象,可以认为是在帮用户一个忙。

关于r - 显示 R 对象的内部结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16366733/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com