相关疑难解决方法(0)

在R中的data.table中选择NA

如何选择数据表中主键中缺少值的所有行.

DT = data.table(x=rep(c("a","b",NA),each=3), y=c(1,3,6), v=1:9)
setkey(DT,x)   
Run Code Online (Sandbox Code Playgroud)

选择特定值很容易

DT["a",]  
Run Code Online (Sandbox Code Playgroud)

选择缺失值似乎需要矢量搜索.一个人不能使用二进制搜索.我对么?

DT[NA,]# does not work
DT[is.na(x),] #does work
Run Code Online (Sandbox Code Playgroud)

select r missing-data na data.table

23
推荐指数
2
解决办法
2万
查看次数

由NaN进行的data.table子集不起作用

我在数据表中有一个包含NaN值的列.就像是:

my.dt <- data.table(x = c(NaN, NaN, NaN, .1, .2, .2, .3), y = c(2, 4, 6, 8, 10, 12, 14))
setkey(my.dt, x)
Run Code Online (Sandbox Code Playgroud)

我可以使用该J()函数来查找x列等于.2的所有实例

> my.dt[J(.2)]

     x  y
1: 0.2 10
2: 0.2 12
Run Code Online (Sandbox Code Playgroud)

但如果我尝试用NaN它做同样的事情就行不通.

> my.dt[J(NaN)]

     x  y
1: NaN NA
Run Code Online (Sandbox Code Playgroud)

我希望:

     x  y
1: NaN  2
2: NaN  4
3: NaN  6
Run Code Online (Sandbox Code Playgroud)

是什么赋予了?我在data.table文档中找不到任何解释为什么会发生这种情况的事情(尽管可能只是因为我不知道该寻找什么).有什么方法可以得到我想要的东西吗?最后,我想NaN用零替换所有值,使用类似的东西my.dt[J(NaN), x := 0]

r data.table

5
推荐指数
1
解决办法
839
查看次数

标签 统计

data.table ×2

r ×2

missing-data ×1

na ×1

select ×1