gpt4 book ai didi

r - pmin 给出了错误的答案

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

pmin在以下示例中不会返回适当的输出。

eps <- 1e-16
x <- structure(list(X = c(0.219801587301587, 0.340792857142857, 0.398129365079365,
1, 1, 0.853353968253968, 0.930726984126984, 0.980263131313131,
0.968269047619047, 0.953053336369513, 1, 1, 1, 0.951969003219003,
0.91514335177894, 0.884824997224998, 0.884824997224998, 0.884824997224998 )), row.names = c(NA, 18L), class = "data.frame", .Names = "X")

pmin(x, 1 - eps)

该函数错误地返回 NA其中 x的值是 1. 这应该报告为错误吗?

最佳答案

所以我发现这是因为 xdata.frame并且 pmin 期待一个向量。所以下面的工作就好了:

pmin(x[,1], 1 - eps)

但我想了解为什么它不适用于 data.frame .因此,查看 pmin 的代码违规行如下:
mmm[change] <- each[change]

因为 each指的是常量(在本例中为 1 - eps)和 change是一个逻辑向量,除了 each[1]将返回 NA .而 x的情况是在函数开始处执行的向量:
  if (all(vapply(elts, function(x) is.atomic(x) && !is.object(x), NA))) {
mmm <- .Internal(pmin(na.rm, ...))
mostattributes(mmm) <- attributes(elts[[1L]])
}

pmin 的值出现时,这部分代码似乎是为是向量,后一部分处理您可能有 data.frame 的情况。 ,但在这种给定的情况下它失败了。

关于r - pmin 给出了错误的答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44711137/

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