当 dput() 不起作用时该怎么办?
What to do when dput() doesn't work?
我通常使用 dput()
来 a) 保存 R 对象,以及 b) 了解它们的内部结构。然而,在 TraMineR 包中我遇到了一些我以前从未见过的东西:
library(TraMineR)
data(actcal.tse)
actcal.seqe <- seqecreate(id = actcal.tse$id,
timestamp = actcal.tse$time, event = actcal.tse$event)
dput(head(actcal.seqe))
这个returns:
structure(list(<pointer: 0x1016201b0>, <pointer: 0x101603940>,
<pointer: 0x101615330>, <pointer: 0x101615360>, <pointer: 0x10163c860>,
<pointer: 0x10163c890>), class = c("seqelist", "list"))
这是什么意思?是不是看不出内部结构?
在内部,TraMineR 使用 C++ 结构,该结构在 R 中不可访问,除非通过提供的函数。 dput 的结果就是指向这些 C++ 对象的 C 指针的地址。
我通常使用 dput()
来 a) 保存 R 对象,以及 b) 了解它们的内部结构。然而,在 TraMineR 包中我遇到了一些我以前从未见过的东西:
library(TraMineR)
data(actcal.tse)
actcal.seqe <- seqecreate(id = actcal.tse$id,
timestamp = actcal.tse$time, event = actcal.tse$event)
dput(head(actcal.seqe))
这个returns:
structure(list(<pointer: 0x1016201b0>, <pointer: 0x101603940>,
<pointer: 0x101615330>, <pointer: 0x101615360>, <pointer: 0x10163c860>,
<pointer: 0x10163c890>), class = c("seqelist", "list"))
这是什么意思?是不是看不出内部结构?
在内部,TraMineR 使用 C++ 结构,该结构在 R 中不可访问,除非通过提供的函数。 dput 的结果就是指向这些 C++ 对象的 C 指针的地址。