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解析成“日”了...个人猜测