如何导入文件以在sangerseqR包中使用?

时间:2014-12-09 22:01:29

标签: r sequence bioconductor

我尝试修改文档中给出的代码

library(sangerseqR)
x <- read.abif(system.file("extdata", "heterozygous.ab1", package = "sangerseqR"))

我需要从外部驱动器导入文件,我将其修改为

x <- read.abif(system.file("extdata", file.choose() , package = "sangerseqR"))

但我收到一条错误消息。

Error in readBin(fc, what = "raw", n = 1.2 * file.info(filename)$size) : can only read from     a binary connection
In addition: Warning message:
In file(filename, open = "rb") :
file("") only supports open = "w+" and open = "w+b": using the former

知道如何纠正这个问题吗?我还需要在代码中修改哪些内容才能导入文件?

1 个答案:

答案 0 :(得分:0)

如果我正确理解了您的问题,您就会尝试加载包裹附带的文件(即您自己的数据文件)。在这种情况下,您不想使用system.file()。相反,只需尝试x <- read.abif(file.choose()),然后选择文件。

system.file()用于获取驻留在包内的文件的完整路径,例如包可能提供的示例数据。当您运行您提供的代码并选择包外的文件时,它会返回一个空字符串(即"")。事实上,如果我尝试运行read.abif(""),我会收到您描述的错误消息。