xls文件
读取xls、xlsx文件的软件包有很多,但是经笔者长时间的测试,gdata是较为稳定可靠的软件包。
> library(gdata)
> xlsfile <- file.path(path.package("gdata"), "xls", "iris.xls")
> iris <- read.xls(xlsfile)
> tail(iris) ##查看末6行
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 145 6.7 3.3 5.7 2.5 virginica
## 146 6.7 3.0 5.2 2.3 virginica
## 147 6.3 2.5 5.0 1.9 virginica
## 148 6.5 3.0 5.2 2.0 virginica
## 149 6.2 3.4 5.4 2.3 virginica
## 150 5.9 3.0 5.1 1.8 virginica
使用Excel对于生物信息学来说有很多潜在的危险。在文献Mistaken Identifiers: Gene name errors can be introduced inadvertently when using Excel in bioinformatics. Barry R Zeeberg, et. al., BMC Bioinformatics 2004, 5:80 doi:10.1186/1471-2105-5-80中有详细的描述。
也许我们都经历过类似的问题,当我们使用软件比如R将一个gene list保存在一个csv文件之后交给别人编辑,再传回来,应该显示为SEPT2的基因被显示为一个数字。当我们使用Excel打开之后,会发现它变成了2-SEP这样的时间。原来,使用Excel将文件编辑过之后,会自动地将类似SEPT3这种基因名识别成日期,再保存的时候,就改变了它的值。
这是一个令人苦恼的问题。甚至NCBI的数据中也曾经出现这样的问题。
下面我们可以试验一下这种现象。
> x <- matrix(c("JAN1", "FEB2", "MAR3", "APR4", "MAY5", "JUN6", "JUL7", "AUG8",
+ "SEP9", "OCT1", "NOV1", "DEC2"), nrow = 4)
> x
## [,1] [,2] [,3]
## [1,] "JAN1" "MAY5" "SEP9"
## [2,] "FEB2" "JUN6" "OCT1"
## [3,] "MAR3" "JUL7" "NOV1"
## [4,] "APR4" "AUG8" "DEC2"
> write.csv(x, "testXLS.csv", row.names = FALSE)
在EXCEL中打开testXLS.csv文件,我们会看到它们都被识别为日期了。
所以,如果使用R来输出文件给非专业人员交流使用时,为了预防这一错误的发生,需要将数据直接写为Excel文件,而不是可自动被Excel链接打开的文本文件,比如csv文件等。
> library(WriteXLS)
> x <- data.frame(x)
> WriteXLS("x", "testXLS.xls")
下图为在EXCLE中打开testXLS.xls文件的效果,
您好:我想请教您怎么能从零基础学好R并应用于生物信息学中?我自己看了很久收获特别少
无它,唯手熟尔。