gpt4 book ai didi

r - 合并 R 中的多个向量以删除 NA

转载 作者:行者123 更新时间:2023-12-05 01:47:14 25 4
gpt4 key购买 nike

例如,我有如下向量:

 a= c(1, NA, NA, 2, 3)
b=c(NA, 1, NA, NA, NA)
c=c(NA, NA, 5, NA, NA)

我想合并三个向量得到

  d=c(1,1,5,2,3)

有没有一种不用大量循环就可以做到这一点的方法?非常感谢:)

最佳答案

你可以试试

 rowSums(cbind(a,b,c), na.rm=TRUE)
#[1] 1 1 5 2 3

mat <- cbind(a,b,c)
mat[cbind(1:nrow(mat),max.col(!is.na(mat)))]
#[1] 1 1 5 2 3

或者

ind <- which(!is.na(mat), arr.ind=TRUE)
mat[ind[order(ind[,1]),]]
#[1] 1 1 5 2 3

关于r - 合并 R 中的多个向量以删除 NA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29373264/

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