gpt4 book ai didi

r - data.table:用 keyby 子集 j 中的分组变量

转载 作者:行者123 更新时间:2023-12-03 16:31:05 25 4
gpt4 key购买 nike

说我有这个数据集

test <- data.table(X = rep(1, 3), Y = rep("a", 3))
这给了我们
test
# X Y
#1: 1 a
#2: 1 a
#3: 1 a
我想知道为什么
test[, X[Y == "a"], keyby = .(X)]
#   X V1
#1: 1 1
#2: 1 NA
#3: 1 NA
预先感谢您的回答!

最佳答案

如果您运行 XY=="a"分别地

> test[, X, keyby = .(X)]
X X
1: 1 1

> test[, Y == "a", keyby = .(X)]
X V1
1: 1 TRUE
2: 1 TRUE
3: 1 TRUE
你会看到,第一个给出数值 1长度为 1,第二个给出逻辑值 TRUE长度为 3。
由于您没有匹配的子集长度,您将获得 NA s 填写相应的地方,例如,
> 1[rep(TRUE,3)]
[1] 1 NA NA

关于r - data.table:用 keyby 子集 j 中的分组变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66994303/

25 4 0