gpt4 book ai didi

r - 是否有 R 函数 "parallel sum"?

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

这个问题在这里已经有了答案:





There is pmin and pmax each taking na.rm, why no psum?

(3 个回答)


去年关闭。




我想对包含 NA 的向量求和。

例如:

a <- c(5, 3, 1, NA, 2)
b <- c(NA, 1, 2, 1, 7)

预期输出将是:
[1] 5 4 3 1 9
sum在这种情况下不起作用,如 sum(a, b, na.rm = T)相当于 sum(c(a, b), na.rm = T) .
+确实有效(即 a + b )但不会删除 NA s。

您可以使用 rowSums(cbind(a, b), na.rm = T) ,但实际上这可能会导致代码困惑 - 例如,如果向量是 data.table 的列.

是否有等效的 pmax对于总和,例如 psum(a, b, na.rm = T) ?

最佳答案

您可以使用 mapply 尝试以下操作将 sum 函数应用于两个向量 a 和 b。 na.rm=TRUE指示从计算中删除 NA 值:

a <- c(5, 3, 1, NA, 2)
b <- c(NA, 1, 2, 1, 7)

mapply(sum, a, b, na.rm=TRUE)

输出:
[1] 5 4 3 1 9

或者,您可以选择使用 reduce正如@Roland 所建议的:
Reduce("+", lapply(list(a,b), function(x) replace(x, is.na(x), 0)))

关于r - 是否有 R 函数 "parallel sum"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62043099/

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