将结果写入文件R

时间:2015-09-16 16:34:50

标签: r list

根据我的分析,我的结果对象具有这种结构

> str(result)
List of 2
 $ HP:0000002:Formal class 'HPOTerms' [package "HPO.db"] with 4 slots
  .. ..@ HP       : chr "HP:0000002"
  .. ..@ Term     : chr "Abnormality of body height"
  .. ..@ Synonym  : chr(0) 
  .. ..@ Secondary: chr(0) 
 $ HP:0000012:Formal class 'HPOTerms' [package "HPO.db"] with 4 slots
  .. ..@ HP       : chr "HP:0000012"
  .. ..@ Term     : chr "Urinary urgency"
  .. ..@ Synonym  : chr [1:2] "\"Overactive bladder syndrome\" RELATED []" "\"Urgency frequency syndrome\" RELATED []"
  .. ..@ Secondary: chr(0) 

如何将其写入文件?或转换成数据框?一些我如何使用以下线索来管理它:

bb<-result[[1]]
wh<-list(bb@HP, bb@Term,bb@Synonym)
write.table(as.data.frame(wh), "result.txt", sep="\t")

但我正在寻找更好的解决方案。这有什么内置功能吗?为什么我不能直接将其写入文件?什么是&#34; @&#34;登录?

感谢。

1 个答案:

答案 0 :(得分:0)

如果它在大型对象上,这会有点慢,但由于它建立在你已经建立的格式上,可能会成功:

lapply( result, function(bb) {
           wh<-list(bb@HP, bb@Term,bb@Synonym)
           write.table(as.data.frame(wh), file="result.txt", sep="\t", append=TRUE)}

如果您只是想要一个稍后可以加载到R会话中的版本,那么会有dump函数创建一个类似于您键入dput(result)时所看到的对象。