gpt4 book ai didi

r - 将标题中的日期从 Excel 转换/维护为 R

转载 作者:行者123 更新时间:2023-12-04 19:56:07 24 4
gpt4 key购买 nike

我有一个 Excel 电子表格,标题中包含日期。我想将电子表格导入到 R 中,大概使用 read.xlsx() 函数。但是,日期会转换为 Excel 中内部值的字符串,前面带有“X”。我希望将日期保留为日期类,或将字符串转换为日期。我知道如果日期至少采用某种格式,或者是距指定来源的天数,但它有“X”,我可以使用 as.Date()。

非常感谢您的帮助。

例如。

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序列日期,大致对应于1900年1月1日之后42925天的日期。我们可以使用as.Date将这些序列日期转换为R日期 具有适当的起源。

您应该能够使用如下所示的内容来转换日期列。这假设以 X 为前缀的日期作为文本读入。

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

Demo

关于r - 将标题中的日期从 Excel 转换/维护为 R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45069768/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com