2013-07-06 80 views
0

我有一個包含5行樣本數據的Excel文件。我給出了以下代碼將其導入到R.無法從示例Excel文件導入數據

> testdata <-read.table(file.choose(),header=TRUE) 

我收到如下警告消息。

Warning message: 
In read.table(file.choose(), header = TRUE) : 
    incomplete final line found by readTableHeader on 

我忽略了警告信息並繼續查看我的數據,但發現沒有選定行。以下是我到達的內容

> testdata 
[1] PK... 
<0 rows> (or 0-length row.names) 

因爲我是R的初學者,所以無法追蹤錯誤。任何有關警告和錯誤的幫助將不勝感激。請幫忙。

回答

5

這是因爲您試圖導入常規Excel工作簿/工作表(擴展名爲.xls或.xlsx)。這些是二進制文件; R不知道如何處理他們。

爲了將數據導入R,你有兩個選擇:

  1. 使用包像RODBCxlsx,它可以將文件導入到數據幀。這對初學者來說可能有點複雜。

  2. 將您的工作表保存爲.csv文件。這些是純文本文件,可以使用功能read.csv導入。

的一些技巧,如果你去與選項2:

  1. 清楚你的細胞的所有格式導入之前。如果您的號碼包含嵌入的美元符號,百分號,逗號等,則R會將您的號碼視爲文本,這可能會導致很多混淆。

  2. Excel只將數字保存爲CSV文件,但僅以可見精度而不是實際精度。所以你想確保保存所有需要的小數位數。

  3. 例外是日期,您應該保留您的格式。 R會將它們導入爲因子,如果需要,您可以將其轉換爲R日期。

+0

另一個重要建議:Excel只將數字保存到CSV文件中,但僅以可見的精度而不是實際的精度。所以你想確保保存所有需要的小數位數。 – Roland

+0

@HongOoi我只是格式化你最後的答案,並添加羅蘭評論。 – agstudy

+0

@agstudy謝謝你。 –

1

標準R不會導入Excel文件,但可以將它們保存爲CSV格式,然後使用read.csv導入它們。