gpt4 book ai didi

r - 更改日期变量中的行值

转载 作者:行者123 更新时间:2023-12-02 02:27:02 28 4
gpt4 key购买 nike

我有一个看起来像这样的数据集

data <- structure(list(producer_id = c("10005", "10005", "10007", "10007", 
"10007"), date = structure(c(18297, NA, 15768, 16155, NA), class = "Date")), row.names = c(NA,
-5L), class = c("data.table", "data.frame"))

producer_id date
1: 10005 2020-02-05
2: 10005 <NA>
3: 10007 2013-03-04
4: 10007 2014-03-26
5: 10007 <NA>

最终数据应该是这样的:

   producer_id       date
1: 10005 2020-02-05
2: 10005 2020-30-12 # changed this value
3: 10007 2013-03-04
4: 10007 2014-03-26
5: 10007 <NA>

换句话说,我想根据条件更改特定的日期值。通常我会使用数据表并做这样的事情。

data <– setDT(data)[producer_id==1005 & is.na(date),date:="2020-30-12"]
# or
data <- setDT(data)[producer_id==1005 & is.na(date),date:=2020-30-12]

但是,虽然我没有收到任何错误,但这些方法不会转换数据。有谁知道问题是什么以及我如何有效地处理它(最好使用 data.table)?

非常感谢您的帮助

最佳答案

因为您有类“日期”的日期列,请将替换更改为相同的类。

library(data.table)

data[producer_id == 10005 & is.na(date),date := as.Date("2020-12-30")]
data
# producer_id date
#1: 10005 2020-02-05
#2: 10005 2020-12-30
#3: 10007 2013-03-04
#4: 10007 2014-03-26
#5: 10007 <NA>

关于r - 更改日期变量中的行值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65506671/

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