将Excel中的date从Excel转换/维护到R

我有一个Excel电子表格的标题中的date。 我想将电子表格导入到R,大概使用read.xlsx()函数。 但是,date转换为Excel中内部值的string,前面带有“X”。 我希望保持date作为date类,或将string转换为date。 我知道我可以使用as.Date()如果date至less是一个格式,或从指定的起源天数,但它有“X”。

非常感谢你的帮助。

例如。

Excel电子表格“实践”

Sample 09-Jul 10-Jul 11-Jul 1 3 10 2 2 5 0 3 1 0 0 

那么在R:

 practice<-read.xlsx("Practice.xlsx") Sample X42925 X42926 X42927 1 1 3 10 2 2 2 5 0 NA 3 3 1 0 0 practice2=gather(practice,Date,value,-Sample,na.rm=TRUE) Sample Date value 1 1 X42925 3 2 2 X42925 5 3 3 X42925 1 4 1 X42926 10 5 2 X42926 0 6 3 X42926 0 7 1 X42927 2 9 3 X42927 0 practice2$Date=as.Date(practice2$Date) Error in charToDate(x) : character string is not in a standard unambiguous format 

X42925是一个Excel序列date,大致对应于1900年1月1日后42925天的date。我们可以使用具有适当原点的as.Date将这些序列date转换为Rdate。

你应该能够使用类似下面的东西来转换你的date列。 这假定以X为前缀的date以文本forms读入。

 dates <- as.numeric(substr(practice2$Dates, 2, nchar(practice2$Dates))) practice2$Dates <- as.Date(dates, origin = '1899-12-30') 

演示

尝试将Excel文件另存为.csv。 这将您的数据和date转换为纯文本,这应该导入到R没有问题。

另外,请尝试下面的方法之一: http : //www.milanor.net/blog/read-excel-files-from-r/

祝你好运!