打印嵌套汽车S4对象

时间:2018-08-17 01:50:35

标签: class s4

我是R的新手,他试图弄清楚如何打印/保存嵌套在列表中的S4类对象。

这是列表的结构。该列表包含许多mm9 fasta序列子集,如图中的一个。它们包含不同数量的行,列出了许多fasta文件中输入序列之间的匹配项:

the list

如果我尝试像这样使用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类保存到文件中的任何建议?

1 个答案:

答案 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

不会做您想要的。该对象会使用旧名称自动加载)