无法从示例Excel文件导入数据

时间:2013-07-06 18:47:45

标签: r

我有一个包含5行样本数据的Excel文件。我已将以下代码导入R。

> 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的初学者,我无法追踪错误。任何关于警告和错误的帮助将不胜感激。请帮忙。

2 个答案:

答案 0 :(得分:5)

那是因为您正在尝试导入常规Excel工作簿/工作表(扩展名为.xls或.xlsx)。这些是二进制文件; R不知道如何处理它们。

要将数据导入R,您有几个选择:

  1. 使用RODBCxlsx这样的包,可以将文件导入数据框。对初学者来说这可能有点复杂。

  2. 将工作表另存为.csv文件。这些是纯文本文件,您可以使用函数read.csv导入。

  3. 如果选择选项2,请提供一些提示:

    1. 在导入之前清除单元格中的所有格式。如果您的数字带有嵌入的美元符号,百分号,逗号等,则R会将您的数字视为文本,这可能会导致很多混乱。

    2. Excel仅以可见精度而非实际精度将数字保存到CSV文件。因此,您需要确保保存所需的所有小数位。

    3. 例外是日期,您应保留格式。 R会将它们作为因子导入,然后可以根据需要将其转换为R日期。

答案 1 :(得分:1)

标准R不会导入Excel文件,但您可以将其保存为CSV格式,然后使用read.csv导入它们。