【发布时间】:2015-04-08 11:46:46
【问题描述】:
我有一个如下结构的大data.table
DT = data.table(Year=c("1993","1994"), "1"=c(NA,10), "2"=c(50, 40))
我想更新第二列“1”。每个带有“NA”的条目应替换为“0”。但是要么
DT[is.na(1), 1:=0]
也没有
DT[is.na("1"), "1":=0]
工作。问题是,列名 - 除了“年份” - 是数字。当然,通过
setnames(DT, "1", "X1")
DT[is.na(X1), X1:=0]
我可以通过这个小例子来解决这个问题,但是列名应该是数字,而且巨大的 data.table 有 50 多列。 有没有人有想法,我必须做什么?
【问题讨论】:
-
或
DT[is.na(`1`), "1":=0 , with = FALSE]
标签: r data.table