2013-01-17 40 views
9

我正在嘗試將CSV文件導入到項目圖形。我使用[R 2.15.2在Mac OS X.警告消息:在文件(文件,「rt」)中

  • 第一種方式嘗試

    我試圖運行導入CSV文件中的腳本是這樣的:

    group4 <- read.csv("XXXX.csv", header=T) 
    

    但我不斷收到此錯誤信息:

     
    Error in read.table(file = file, header = header, sep = sep, quote = quote, : 
        object 'XXXXXX.csv' not found 
    
  • 第二種方式嘗試

    我試圖移動我的工作目錄,但又得到另一個錯誤,說我不能移動我的工作目錄。所以我進入Preferences選項卡,並將工作目錄更改爲具有我的CSV文件的文件。但我仍然得到同樣的錯誤(作爲第一種方式)。

  • 第三種方式試圖

    然後我嘗試這個腳本:

    group4 <- read.table(file.choose(), sep="\t", header=T) 
    

    而且我得到這個錯誤:

     
    Warning message: 
    In read.table(file.choose(), sep = "\t", header = T) : 
        incomplete final line found by readTableHeader on '/Users/xxxxxx/Documents/Programming/R/xxxxxx/xxxxxx.csv' 
    

我搜索的[R網站和遍佈互聯網,沒有什麼讓我到了這一點e我可以將這個簡單的CSV文件導入R控制檯。

+0

'group4'看起來像什麼?儘管警告,看起來像你想要的東西嗎?用尾巴(group4)'檢查尾部。如果它看起來不錯,你可以用'suppressWarnings'將這個調用包裝到read.table中,然後繼續。 –

+0

如果您嘗試讀取未正確轉換爲csv的Excel文件,這也是您會得到的警告。也許有人剛剛改變了擴展,並認爲這足夠了? –

+0

從您對迄今爲止的評論和回答的回覆中,我感覺到您對軟件並不熟悉。您可能會從閱讀一些入門書籍中獲益,以瞭解目錄是什麼,什麼文件(與在Excel中打開時的樣子相反)等。 –

回答

4

至於丟失的EOF(即文件中的最後一行已損壞)... 通常,數據文件應該以空行結束。也許檢查你的文件,如果是這樣的話。 作爲一種選擇,我會建議嘗試readLines()。該函數將數據文件的每一行讀入一個向量。如果你知道輸入的格式,即表格中的列數,你可以這樣做......

number.of.columns <- 5 # the number of columns in your data file 
delimiter <- "\t" # this is what separates the values in your data file 
lines <- readLines("path/to/your/file.csv", -1L) 
values <- unlist(lapply(lines, strsplit, delimiter, fixed=TRUE)) 
data <- matrix(values, byrow=TRUE, ncol=number.of.columns) 
+0

當我看到這個問題時,我實際上對解決方案感到震驚,並認爲警告信息是誤導性的。 –

5
  1. 該文件不在您的工作目錄中,更改它或使用絕對路徑。
  2. 比你指向一個不存在的目錄,或者你沒有寫權限。
  3. 文件的最後一行格式不正確。
+0

嗨,感謝您的回答。我使用了絕對路徑,光標只是給了我一個新的行,我不知道它是否加載。我在我的文件的最後一行添加了一個EOL。 – Siya