table(df1[gro-6ren">
gpt4 book ai didi

r - 如何使用 R 的 data.table 包对键值的否定进行子集化?

转载 作者:行者123 更新时间:2023-12-04 09:34:52 24 4
gpt4 key购买 nike

R的data.table包提供基于键的值的快速子集。

因此,例如:

set.seed(1342)

df1 <- data.table(group = gl(10, 10, labels = letters[1:10]),
value = sample(1:100))
setkey(df1, group)

df1["a"]

将返回 df1 中 group == "a"中的所有行。

如果我想要 df1 中的所有行怎么办哪里 group != "a" .是否有使用 data.table 的简洁语法? ?

最佳答案

我想你回答了你自己的问题:

> nrow(df1[group != "a"])
[1] 90
> table(df1[group != "a", group])

a b c d e f g h i j
0 10 10 10 10 10 10 10 10 10

对我来说似乎很简洁?

从 MATTHEW 编辑:根据评论,这是矢量扫描。有一个不加入的成语 herehere , 和 feature request #1384使它更容易。

编辑: feature request #1384在data.table 1.8.3中实现
df1[!'a']

# and to avoid the character-to-factor coercion warning in this example (where
# the key column happens to be a factor) :
df1[!J(factor('a'))]

关于r - 如何使用 R 的 data.table 包对键值的否定进行子集化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9996523/

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