【发布时间】:2021-07-14 09:53:39
【问题描述】:
我有一个 S4 对象列表,我需要一个数据框,其中列表的每个对象都在一行中。我想使用 serialize() 函数进行对象的转换。
object_list # list of S4 objects
objects<-serialize(object_list,connection=NULL)
我的问题是,'objects' 的输出是一个很长的 raw()-vector。 Is 表示所有 S4 对象都在一个 raw() 中转换。 它看起来像这样: [1] 58 0a 00 00 00 03 00 04 00 03 00 03 05 00 00 00 00 05 55 54 46 2d 38 00 01 03 19 00 00 04 02 00 ...
我现在找到了用任何循环解决这个问题的方法。序列化应该采用每个 S4 对象并将其转换,而不是全部放在一个大向量中。
最后,我想在数据框中添加每个向量(来自每个 S4 对象)。
| ... | objects |
|---|---|
| ... | 58 0a 00 00 00 03 00 04 00 03 |
| ... | 00 04 00 03 00 03 05 00 00 00 |
| ... | ... |
希望有人能帮帮我,谢谢!
【问题讨论】:
-
您介意添加一个可重现的示例吗?
-
── ClassyFire 对象 ──────────────────────────────────── ────────────────────classyfireR v0.3.6 ── 对象大小:14.9 Kb 信息: • InChIKey=FFRYUAVNPBUEIC-UHFFFAOYSA-N • O=C1NC2=CC=CC =C2N=C1 • 分类版本:2.1 界:有机化合物 └─超类:有机杂环化合物 └─类:二氮杂萘 └─亚类:苯并二嗪 └─5级:喹喔啉
-
这是对象的一个示例,我有一个列表
-
如果我只序列化列表中的 1 个对象 "serialize(Classification[[1]],connection=NULL)" 我得到它的 raw() 向量,但如果我序列化整个清单 1 我得到一个很大的 raw() 向量,而不是每个对象的向量
-
我假设可以
lapply覆盖对象列表,serialize不是对象列表,而是每个对象本身。我仍然看不到一个可重复的示例,可以使用该示例来尝试该想法。试试lapply和/或阅读stackoverflow.com/help/minimal-reproducible-example
标签: r dataframe serialization s4