【发布时间】:2015-05-02 09:16:33
【问题描述】:
好的,所以我正在清理一个大型数据集并尝试通过将数据帧代码更改为数据表来加快速度。我在对缺失值代码进行条件分配时遇到问题。玩具示例:
X = data.table(grp=c("a","a","b","b","b","c","c","d","d","d","d"),
foo=c(1:4,NA,6:7,NA,8:10))
setkey(X,grp)
err.code <-"1111"
row.select <- row.names(X)[X$grp=="b" & is.na(X$foo)]
# Replace missing value for group b with err.code
X[row.select, foo:=err.code]
所以我想将 err.code 放入符合条件的特定单元格中。然而,上面没有分配任何东西。例如
> X
grp foo
1: a 1
2: a 2
3: b 3
4: b 4
5: b NA
6: c 6
7: c 7
8: d NA
9: d 8
10: d 9
11: d 10
我在这里错过了什么?
【问题讨论】:
-
这对我有用:
X[grp == "b" & is.na(foo), foo := 1111]....
标签: r data.table variable-assignment