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