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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM