【发布时间】:2013-12-30 09:24:43
【问题描述】:
如果你有一个 R data.table 有缺失值,你如何用值 0 替换所有这些值?例如
aa = data.table(V1=1:10,V2=c(1,2,2,3,3,3,4,4,4,4))
bb = data.table(V1=3:6,X=letters[1:4])
setkey(aa,V1)
setkey(bb,V1)
tt = bb[aa]
V1 X V2
1: 1 NA 1
2: 2 NA 2
3: 3 a 2
4: 4 b 3
5: 5 c 3
6: 6 d 3
7: 7 NA 4
8: 8 NA 4
9: 9 NA 4
10: 10 NA 4
有什么方法可以在一行中做到这一点?如果它只是一个矩阵,你可以这样做:
tt[is.na(tt)] = 0
【问题讨论】:
-
tt[is.na(tt)] = 0为我工作。 -
你说得对,我不知道我在看哪里。随意回答我会接受的。
-
+1 为好问题。但是您选择的答案不是惯用的方式。我建议你重新考虑。
-
想到我会如何想要这个工作,
tt[is.na(tt), .SD := 0]浮现在脑海 -
@eddi,嗯,这看起来不错,而且实施起来可能并不难......会考虑一下。
标签: r data.table