gpt4 book ai didi

r - 如何清除posix值的NA标志?

转载 作者:行者123 更新时间:2023-12-04 23:59:52 26 4
gpt4 key购买 nike

csv格式的样本数据。保存在文件broken_posix.csv

Date
3/10/2012 23:00
3/11/2012 0:00
3/11/2012 1:00
3/11/2012 2:00
3/11/2012 3:00
3/11/2012 4:00
3/11/2012 5:00
3/11/2012 6:00
3/11/2012 7:00
3/11/2012 8:00
3/11/2012 9:00
3/11/2012 10:00
3/11/2012 11:00
3/11/2012 12:00
3/11/2012 13:00
3/11/2012 14:00
3/11/2012 15:00
3/11/2012 16:00
3/11/2012 17:00
3/11/2012 18:00
3/11/2012 19:00
3/11/2012 20:00
3/11/2012 21:00
3/11/2012 22:00
3/11/2012 23:00
3/12/2012 0:00
3/12/2012 1:00
3/12/2012 2:00
3/12/2012 3:00
3/12/2012 4:00
3/12/2012 5:00
3/12/2012 6:00
3/12/2012 7:00
3/12/2012 8:00
3/12/2012 9:00
3/12/2012 10:00
3/12/2012 11:00
所以我有这个文件 broken_posix.csv。我可以很好地读取文件
a_var <- read.csv("broken_posix.csv")
然后我可以使用将其转换为 posix
a_var_posixct = as.POSIXct(strptime( as.character( a_var$Date) , '%m/%d/%Y %H:%M'))
或搭配
a_var_posixlt = strptime(as.character( a_var$Date) , '%m/%d/%Y %H:%M')
现在出现问题了,因为因为当我使用posixct时,每年我的字符串中都会得到4个NA值。当我使用 posixlt时,我在 NA上得到一个 March 11,2012 at 2 (daylight savings time)
运行时您会明白我的意思
which(is.na(a_var_posixct))
which(is.na(a_var_posixlt))

a_var_posixct[4]
a_var_posixlt[4]
每当您执行操作时,第四个值始终是 NA值,即使它显然是posixlt的日期值也是如此。
我试图省略该值只是为了弄乱posix字符串的其余部分。
我尝试将posix字符串设置为本身,以试图清除NA标志,但无效。
我什至尝试将其设置为字符值只是为了丢失小时和分钟格式。
我认为这种情况是由于夏时制而发生的。处理起来非常令人沮丧,因为当我尝试在日期上运行其他函数时,由于无法更改它们,因此必须避免使用NA值。我可以按天汇总数据,也可以只使用日期对象,但这似乎不是正确的方法。

最佳答案

使用没有夏令时的时区为我解决了这类问题。

a_var_posixlt = strptime(as.character( a_var$Date) , '%m/%d/%Y %H:%M',tz="GMT")

关于r - 如何清除posix值的NA标志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11529297/

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