我有一个Excel电子表格,标题中包含日期。我想将电子表格导入R,大概是使用read.xlsx()函数。但是,日期将从Excel转换为内部值的字符串,其中包含" X"在前面。我希望将日期保留为Date类,或将字符串转换为Date。我知道如果日期至少是一种格式,或者来自指定原点的天数,我可以使用as.Date(),但它有" X"。
非常感谢您的帮助。
EG。
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
答案 0 :(得分:3)
值X42925
是Excel序列日期,大致对应于1900年1月1日之后42925天的日期。我们可以使用as.Date
将这些序列日期转换为R日期,并使用适当的来源
您应该可以使用以下内容转换Date列。这假定以X
为前缀的日期作为文本读入。
dates <- as.numeric(substr(practice2$Dates, 2, nchar(practice2$Dates)))
practice2$Dates <- as.Date(dates, origin = '1899-12-30')
答案 1 :(得分:1)
尝试将Excel文件另存为.csv。这会将您的数据和日期转换为纯文本,这应该导入到R中,没有任何问题。
或者,尝试以下方法之一: http://www.milanor.net/blog/read-excel-files-from-r/
祝你好运!