我有一个包含5行样本数据的Excel文件.我已经给出以下代码将其导入R.
> testdata <-read.table(file.choose(),header=TRUE)
Run Code Online (Sandbox Code Playgroud)
我收到如下警告信息.
Warning message:
In read.table(file.choose(), header = TRUE) :
incomplete final line found by readTableHeader on
Run Code Online (Sandbox Code Playgroud)
我忽略了警告消息并继续查看我的数据,但发现没有选择任何行.以下是我到达的内容
> testdata
[1] PK...
<0 rows> (or 0-length row.names)
Run Code Online (Sandbox Code Playgroud)
由于我是RI的初学者,因此无法追踪错误.任何关于警告和错误的帮助将不胜感激.请帮忙.
那是因为您正在尝试导入常规的Excel工作簿/工作表(扩展名为.xls或.xlsx).这些是二进制文件; R不知道如何处理它们.
要将数据导入R,您有几个选择:
使用像RODBC或的包xlsx,它可以将文件导入数据框.这对于初学者来说可能有点复杂.
将工作表另存为.csv文件.这些是纯文本文件,您可以使用该函数导入read.csv.
如果你选择选项2,可以提供一些提示:
在导入之前清除单元格中的所有格式.如果您的数字带有嵌入的美元符号,百分号,逗号等,则R会将您的数字视为文本,这可能会导致很多混乱.
Excel仅以可见精度而非实际精度将数字保存到CSV文件.因此,您需要确保保存所需的所有小数位.
例外是日期,您应该保留格式.R会将它们作为因子导入,然后可以根据需要将其转换为R日期.