【转】R中read.table详解

R中read.table详解

 source:http://wnfdsfy.diandian.com/post/2011-10-17/5856100

R is a free software environment for statistical computing and graphics. It compiles and runs on a wide variety of UNIX platforms, Windows and MacOS. -- http://www.r-project.org/

笔者从事生物信息方面的研究和学习。经常用到R处理和分析数据。为了以后更方便和熟练的使用R就做一些记录,不足之处请指正和补充!

read.table 顾名思义,读表格。在很多领域(几乎全部领域)都用表格的形式储存数据,所以直接读取表格数据是很重要的也是必要的。

  • 初识read.table

例如桌面上有一个文件名为 test.xls 的表格,其内容如下:

为了读取其内容可以如下操作。

其中 # 后面的为注释,R将视而不见。 还需要注意,R命令和符号必须在英文状态下输入,例如""不能输入成“”,''不能输出成‘’。sep='\t',表示告诉R这个表格是以Tab键作为列分割的,还有其他的分隔符,当然了,著名的cvs格式文件就是以','作为分隔符的!

  • 深入read.table

当然了可能你想说,我想把excle 中的第一列作为变量的列名字,read.table可以做到!

header=TRUE是告诉文件的第一行是头文件(属性名),其他行是值。然后read.table 就把头文件作为变量的列名字了。

  • 再深入read.table

看一个更有趣的表格,下面的表格比上面的表格多了第一列,但是第一行却没变,read.table 仍然可以读!!

请看命令如下:

这是为什么呢?我当时也很郁闷,因为用 write.table 写入的数据,总是第一行少一个数据。但是读出来缺是正确的。仔细的学习了read.table 才知道 read.table()里面有一个默认选项。也就是:

Info <- read.table('test.xls')

相当于:

Info <- read.table('test.xls', header = FALSE, sep = "", quote = "\"'",dec = ".",

            row.names, col.names,

            as.is = !stringsAsFactors,

            na.strings = "NA", colClasses = NA, nrows = -1,

            skip = 0, check.names = TRUE, fill = !blank.lines.skip,

            strip.white = FALSE, blank.lines.skip = TRUE,

            comment.char = "#",

            allowEscapes = FALSE, flush = FALSE,

            stringsAsFactors = default.stringsAsFactors(),

            fileEncoding = "", encoding = "unknown")

 

后面的全是选项,有“=”的为有默认选项,例如 sep="":默认以空白字符为分割,就是看不见的字符,像Tab,空格。这儿 有一个选项是 check.names=TRUE,就是检查名字,其实如果首行比其他行少一个值的时候,就会把首行作为列名,首列作为行名。好多选项...后来看吧~

  • 学习R总结

学习R:多?read.table() ,少Google, 不baidu。

其实至今位置baidu搜不到R的权威和系统资料,很奇怪...难道baidu把R解析成“日”了...个人猜测

posted @ 2012-07-18 10:59  todoit  阅读(4013)  评论(0编辑  收藏  举报