gpt4 book ai didi

r - 使用 R 中的 data.table 将 POSIXct 列连接到日期列

转载 作者:行者123 更新时间:2023-12-04 11:37:07 25 4
gpt4 key购买 nike

在以下示例中,有人可以向我解释为什么日期 2015-03-31 更改为 1034-04-03 吗?

dt1 = data.table(id = c(1,2), date = as.POSIXct("2015-03-31 BST"), key = "id")
dt1
# id date
# 1: 1 2015-03-31
# 2: 2 2015-03-31
dt2 = data.table(id = c(1,2), date = as.Date(NA), key = "id")
dt2
# id date
# 1: 1 <NA>
# 2: 2 <NA>
dt2[dt1, date := i.date]
dt2
# id date
# 1: 1 1034-04-03
# 2: 2 1034-04-03

我的目标是获得 date来自 dt1dt2Date格式而不是 POSIXct来自 id (不同的 id 会有不同的 date )。我该怎么做?

以下是我想要的:
dt2
# id date
# 1: 1 2015-03-31
# 2: 2 2015-03-31

编辑 :

我尝试了以下方法:
dt2[dt1, date := as.Date(i.date)]
dt2
# id date
# 1: 1 2015-03-30
# 2: 2 2015-03-30

不幸的是,它给了我 2015-03-30 而不是 2015-03-31 ......?如何获得 2015-03-31?

最佳答案

您可以使用

dt2[dt1, date:=as.Date(i.date)]

您可能还想查看问题 Convert column classes in data.table关于更改 data.tables 中的数据类型。

关于r - 使用 R 中的 data.table 将 POSIXct 列连接到日期列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31057191/

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