最近初學R語言,在R語言讀入EXCEL數據格式文件的問題上遇到了困難,經過在網上搜索解決了這一問題,下面歸納幾種方法,供大家分享:
第一:R中讀取excel文件中的數據的路徑:
假定在您的電腦有一個excel文件,原始的文件路徑是:D:\work\data\1
如果直接把這個路徑拷貝到R中,就會出現錯誤,原因是:
\是escape character(轉義符),\\才是真正的\字符,或者用/
因此,在R中有兩種方法讀取該路徑:
1:在R中輸入一下路徑:D:\\work\\data\\1 2:在R中輸入一下路徑:D:\\work\\data\\1 第二:R中讀取excel文件中的數據的方法:
read.table(),read.csv(),read.delim()直接讀取EXCEl文件時,都會遇到一下問題:“在讀取‘.xls’的TableHeader時遇到不完全的最后一行”。解決的方法有以下幾種:假如文件1.1中是一個6乘以2的矩陣,元素為:
| 1 | 23 |
| 2 | 24 |
| 3 | 25 |
| 4 | 26 |
| 5 | 27 |
| 6 | 28 |
方法1:xls另存為csv格式然后用read.csv:
具體過程如下:
> data<-read.csv("D:\\work\\data\\1.csv") > data X1 X23 1 2 24 2 3 25 3 4 26 4 5 27 5 6 28 > data<-read.csv("D:\\work\\data\\1.csv",header = F) > data V1 V2 1 1 23333 2 2 24 3 3 25 4 4 26 5 5 27 6 6 28 > data<-read.csv("D:\\work\\data\\1.csv",header = T) > data X1 X23333 1 2 24 2 3 25 3 4 26 4 5 27 5 6 28 也就是說header = T(TURE)是默認的狀態,在這默認狀態下,輸出的data矩陣是一個5乘以2的矩陣,第一行作為了data的名字,如果header = F(FALSE),則會現實原始的矩陣結果。
方法2:xls另存為txt格式然后用read.table: 如例子所示:
> data<-read.table("D:\\work\\data\\1.txt",header = T) > data X1 X23 1 2 24 2 3 25 3 4 26 4 5 27 5 6 28
> data<-read.table("D:\\work\\data\\1.txt",header = F) > data V1 V2 1 1 23 2 2 24 3 3 25 4 4 26 5 5 27 6 6 28 方法3:打開EXCEL,全選里面的內容,點擊復制,然后在R中輸入一下命令:
data <- read.table("clipboard", header = T, sep = '\t') 結果如下所示:
> data <- read.table("clipboard", header = T, sep = '\t') > data X1 X23 1 2 24 2 3 25 3 4 26 4 5 27 5 6 28 > data <- read.table("clipboard", header = F, sep = '\t') > data V1 V2 1 1 23 2 2 24 3 3 25 4 4 26 5 5 27 6 6 28 使用這種方法的時候一定要注意復制!剪切板里面沒有內容是無法運行的!以上是三種方法,如果還有別的更好的,請大家補充,謝謝!
