gpt4 book ai didi

r - 在 pmin 中使用 na.rm=T 和 do.call

转载 作者:行者123 更新时间:2023-12-01 17:33:39 25 4
gpt4 key购买 nike

我想提取存储在列表中的多个矩阵的每个元素的最小值。我正在使用 pmin:

do.call(pmin, mylist)

问题是这些矩阵的某些元素是 NA,并且 pmin 产生一个 NA,我希望它在排除 NA 后产生最小值。我尝试使用解决我的问题 do.call(pmin(na.rm=T), mylist)

但我收到错误。我也尝试过这个答案:data.table and pmin with na.rm=TRUE argument ,但我收到错误,因为 .SD 不在环境中。类似问题的简单代码是:

mymat1 <- matrix(rnorm(10), ncol=2)

mymat2 <- matrix(rnorm(10), ncol=2)
mymat2[2,2] <- NA

mymat3 <- matrix(rnorm(10), ncol=2)

mylist <- list(mymat1, mymat2, mymat3)

do.call(pmin, mylist)

我在结果矩阵的位置 [2,2] 处得到一个 NA,并且我想获得忽略 NA 的最小值。有什么建议么?谢谢。

最佳答案

na.rm = TRUE 连接为命名的 list 元素,然后将 pmindo.call 结合使用> 这样就可以找到参数na.rm

do.call(pmin, c(mylist, list(na.rm = TRUE)))
# [,1] [,2]
#[1,] -1.0830716 -0.1237099
#[2,] -0.5949517 -3.7873790
#[3,] -2.1003236 -1.2565663
#[4,] -0.4500171 -1.0588205
#[5,] -1.0937602 -1.0537657

关于r - 在 pmin 中使用 na.rm=T 和 do.call,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50730362/

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