我有一个包含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的初学者,我无法追踪错误。任何关于警告和错误的帮助将不胜感激。请帮忙。
答案 0 :(得分:5)
那是因为您正在尝试导入常规Excel工作簿/工作表(扩展名为.xls或.xlsx)。这些是二进制文件; R不知道如何处理它们。
要将数据导入R,您有几个选择:
使用RODBC
或xlsx
这样的包,可以将文件导入数据框。对初学者来说这可能有点复杂。
将工作表另存为.csv文件。这些是纯文本文件,您可以使用函数read.csv
导入。
如果选择选项2,请提供一些提示:
在导入之前清除单元格中的所有格式。如果您的数字带有嵌入的美元符号,百分号,逗号等,则R会将您的数字视为文本,这可能会导致很多混乱。
Excel仅以可见精度而非实际精度将数字保存到CSV文件。因此,您需要确保保存所需的所有小数位。
例外是日期,您应保留格式。 R会将它们作为因子导入,然后可以根据需要将其转换为R日期。
答案 1 :(得分:1)
标准R不会导入Excel文件,但您可以将其保存为CSV格式,然后使用read.csv
导入它们。