根据我的分析,我的结果对象具有这种结构
> 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;登录?
感谢。
答案 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)
时所看到的对象。