将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/
祝你好运!