gpt4 book ai didi

将 N/A 替换为 data.table 中的其他值会返回错误

转载 作者:行者123 更新时间:2023-12-02 17:50:37 26 4
gpt4 key购买 nike

我想将 NA 替换为 data.table 中特定列的其他值。我尝试了下面的链接,但出现了一些错误。

How to replace NA values in a table for selected columns? data.frame, data.table

我使用的代码是

df<-data.table(aa<-(1:4),ba<-c(NA,1,3,4),ca<-c(NA,"2012-01-02","2012-02-02","2012-03-02"))

df[is.na(get(ca)),(ca):="2012-04-01"]

我收到错误消息:get(c) 中出错:未找到对象“NA”

但是如果我使用

df[is.na(ca),(ca):="2012-04-01"]

它返回了我不想要的结果。

有人可以帮助我吗?

谢谢

最佳答案

如果我们使用正确的列名,它就会起作用,并且我们不需要 get .

df[is.na(ca), ca:= "2012-04-01"]
df
# aa ba ca
#1: 1 NA 2012-04-01
#2: 2 1 2012-01-02
#3: 3 3 2012-02-02
#4: 4 4 2012-03-02

data.table内打电话,我们使用=而不是<- 。此外,正如 @Frank 提到的,分配 (ca)ca不同,因为前者可能是 vector可用于为新列创建名称的字符串。

数据

df<-data.table(aa=(1:4),ba=c(NA,1,3,4),
ca=c(NA,"2012-01-02","2012-02-02","2012-03-02"))

关于将 N/A 替换为 data.table 中的其他值会返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35090595/

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