我是R的新手,他试图弄清楚如何打印/保存嵌套在列表中的S4类对象。
这是列表的结构。该列表包含许多mm9 fasta序列子集,如图中的一个。它们包含不同数量的行,列出了许多fasta文件中输入序列之间的匹配项:
如果我尝试像这样使用write.table
:
write.table(tgt_cacgtg, file="tgt_cacgtg.csv", sep=",")
我得到:
错误(函数(...,row.names = NULL,check.rows = FALSE,check.names = TRUE,参数表示行数不同:1,6,5,2,7,4,4,11 ,3、17、8、9
如果我尝试使用sink
,我会得到一个txt文件,该文件列出每个mm9 Fasta序列最多11行,否则会给我类似的东西
$`mm9_chr7_149721485_149878684_+_tgt17'
Views on a 157199-letter BString subject
subject: ggaccagctcagcaggggcagggggcaggagcagatccctggag...gagtctgtgttctcactccggcctaaaacttttgccacactctc
views:
start end width
[1] 3291 3296 6 [cacgtg]
[2] 11561 11566 6 [cacgtg]
[3] 16247 16252 6 [cacgtg]
[4] 24249 24254 6 [cacgtg]
[5] 26048 26053 6 [cacgtg]
... ... ... ... ...
[13] 86453 86458 6 [cacgtg]
[14] 119849 119854 6 [cacgtg]
[15] 129404 129409 6 [cacgtg]
[16] 145612 145617 6 [cacgtg]
[17] 150437 150442 6 [cacgtg]
关于如何将S4类保存到文件中的任何建议?
答案 0 :(得分:0)
write table
仅用于将矩形对象(如data.frames)写入文件。您可能会认为您的对象是矩形的,但无法以这种方式保存存储在其类结构中的多余元数据。
有一个save
函数可以保存(几乎)任何一种R对象:
save(tgt_cacgtg,file="tgt_cacgtg.RData")
然后可以加载
load("tgt_cacgtg.RData")
(重要:不要分配负载的值!
load("tgt_cacgtg.RData") -> tgt_cacgtg
不会做您想要的。该对象会使用旧名称自动加载)