当 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 指针的地址。