R語言讀取EXCEL文件的各種方法---轉貼

13,029 views
Skip to first unread message

Andrew T

unread,
Sep 7, 2013, 4:59:27 AM9/7/13
to taiwa...@googlegroups.com
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

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

Reply all
Reply to author
Forward
0 new messages