r语言 - SD[which.min()] vs. SD[min()]



为什么它们有不同的结果?

我以为这两个对象指向 Petal.Length 的最小值相等,不是吗?

iris_dt <- as.data.table(iris)
x1 <- iris_dt[, .SD[which.min(Petal.Length)], by = Species] 
x2 <- iris_dt[, .SD[min(Petal.Length)], by = Species] 
identical(x1, x2)
# FALSE

请查看文档以了解min()which.min()。这两个函数有不同的用途。虽然min()为您提供实际的最小值,但另一方面,which.min()返回最小值所在的索引向量。因此,它按设计工作。

最新更新