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
使用這種方法的時候一定要注意複製!剪切板裡面沒有內容是無法運行的!
以上是三種方法,如果還有別的更好的,請大家補充,謝謝!