gpt4 book ai didi

r - 选择在 data.table 中具有特定值的列

转载 作者:行者123 更新时间:2023-12-04 14:45:53 24 4
gpt4 key购买 nike

最小的例子:

dt <- data.table(a=c(1,2,3),b=c(4,5,6))

看起来像这样:

>  dt
a b
1: 1 4
2: 2 5
3: 3 6

假设我想为有 6 值的列建立索引,在这个玩具示例中很容易,因为我们知道该列:

> dt[,.(b)]
b
1: 4
2: 5
3: 6

现在,如果这个 dt 有几千列,我们不知道 6 在哪里。

我试过这个:

> dt[,.SD==6]
a b
[1,] FALSE FALSE
[2,] FALSE FALSE
[3,] FALSE TRUE

还有这个:

> dt[,lapply(.SD,`==`,6)]
a b
1: FALSE FALSE
2: FALSE FALSE
3: FALSE TRUE

还有:

> dt[,lapply(.SD,function(x) any(x==6))]
a b
1: FALSE TRUE

但我无法取回原始列:

   b
1: 4
2: 5
3: 6

最佳答案

dt[, colSums(dt == 6) > 0, with = FALSE]
# b
# 1: 4
# 2: 5
# 3: 6

关于r - 选择在 data.table 中具有特定值的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70078612/

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