read.xls的行为不符合预期

时间:2014-11-25 08:22:28

标签: r excel gdata

我有一个excel文件(xls格式),就像这样

a             b
10/06/2012  10/06/12 19:00
11/06/2012  11/06/12 05:30
11/06/2012  11/06/12 09:30
11/06/2012  11/06/12 10:00 
11/06/2012  11/06/12 11:00
11/06/2012  11/06/12 11:30

我正在使用gdata库的read.xls函数将此xls文件读入R。

data <- read.xls("data.xlsx")

但是当在R中打开这个文件时,我得到了这个

a                b
41070          41070.79
41071          41071.23
41071          41071.40
41071          41071.42
41071          41071.46
41071          41071.48

我不知道这里发生了什么。当我使用read.csv读取转换后的csv文件时,正在正确读取文件。有人可以告诉我这是什么问题吗?我正在使用Linux机器。

2 个答案:

答案 0 :(得分:1)

尝试使用R可读格式设置日期格式2014-11-25。然后read.xls将正常工作。如果您需要相同的格式,请尝试使用XLConnect。

答案 1 :(得分:0)

Excel将日期存储为数字:http://office.microsoft.com/en-001/excel-help/about-dates-and-date-systems-HP005200674.aspx

您从Excel获得的正是这些数字(从1900年1月1日到您的日期过去的天数。

将字符串更改为R的方法是首先将它们在Excel中转​​换为纯文本字符串。