我在R中编写了一个管道,它使用了Bioconductor中的一些需要从.FASTA文件中读取的软件包(基本上是一个自定义格式的.txt文件)。
现在我有一个矩阵,我使用以下函数写入.FASTA文件:
exportFASTA(matrix, file = "directory\\sample.fasta")
然后,我在文件位置运行算法:
algorithm(file = "directory\\sample.fasta")
我想优化我的代码,这样我就不必将文件写入硬盘。相反,我将.FASTA(即.txt文件)写入临时R对象,R将解释为硬盘驱动器上存在这样的文件。
答案 0 :(得分:2)
有一个函数textConnection
将处理字符流,就好像它是一个文件一样。回到R 2.12时代(在引入text =参数之前)需要使用它来提供read.table的示例:
> read.table( file=textConnection("a b c\nd e f"), header=FALSE)
V1 V2 V3
1 a b c
2 d e f
> txt <- "a b c\nd e f"
> read.table( file=textConnection(txt), header=FALSE)
V1 V2 V3
1 a b c
2 d e f