gpt4 book ai didi

R data.table roll ="nearest"实际上不是最近的

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

鉴于以下 data.tables,我很惊讶地看到 5.9 索引与 5 而不是 6 匹配。

我不太明白这是怎么回事。

dat <- data.table(index = c(4.3, 5.9, 1.2), datval = runif(3)+10, 
datstuff="test")
reference <- data.table(index = 1:10, refjunk = "junk", refval = runif(10))

dat[, dat_index := index]
reference[dat, roll="nearest", on="index"]

我希望看到 3 行,引用中的 index==6 行与 dat 中的 index==5.9 行匹配,至少我对最近的理解是这样。

这是预期的行为吗?

使用 R 3.3.2,数据表 1.10.4

最佳答案

因为 1:10 是一个整数向量,所以对整数和 as.integer(5.9) 的连接是 5。

您可以使用 1:10+0 构建数字:

reference <- data.table(index = 1:10+0, ref_index=1:10, refjunk = "junk", refval = runif(10))
reference[dat, roll="nearest", on="index"]

index ref_index refjunk refval datval datstuff dat_index
1: 4.3 4 junk 0.09868848 10.37403 test 4.3
2: 5.9 6 junk 0.60545607 10.86906 test 5.9
3: 1.2 1 junk 0.50005336 10.07994 test 1.2

关于R data.table roll ="nearest"实际上不是最近的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44169249/

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