将唯一列表中的 NA 替换为 R 中第二个列表中相同位置的 NA

标签 r list

问题就在这里。我有两个向量列表。这些向量在相同位置具有相同的长度。但这些向量中有一些 NA。数据可能看起来像

HH
[[1]]
[1]  2  1  5 NA

[[2]]
[1] 2 0 5

[[3]]
[1] NA  1 NA

JJ
[[1]]
[1] 0 5 8 9

[[2]]
[1] NA  1  3

[[3]]
[1] 2 8 3

我的目标是:让 NA 在所有向量的两个列表中处于相同的位置。更准确地说,编写代码,它将在第一个列表中找到 NA,并在第二个列表中的相同位置将值替换为 NA。我成功地为向量编写了类似的函数,但我在这里失败了。你能帮助我吗?这是我的代码。

D<-NULL
for(j in 1:length(PH)){
+ for(i in 1:length(PH[[j]])){
+ if(is.na(PH[[j]][i])==FALSE){
+ D[[j]][i]=AB[[j]][i]}
+ else{
+ D[[j]][i]=NA}}
+ }

最佳答案

这是我的两分钱。从@Colonel 的回答中获取数据,

v1 <- unlist(firstlist)
v2 <- unlist(secondlist)
v1[is.na(v2)] <- NA
relist(v1, firstlist)

#[[1]]
#[1] NA  "2" "3" NA 

#[[2]]
#[1] "a" NA 

关于将唯一列表中的 NA 替换为 R 中第二个列表中相同位置的 NA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32944780/

相关文章:

在 r 中读取大文本文件

r - Julia 中的向量列表比 R 慢?

python - 从一个列表中查找以另一个列表中的字符串开头的字符串

reactjs - Material-UI:ListItem onClick 未调用

c# - 从文件读取时出现无限循环问题

r - 如何通过标记x轴的特定部分来绘制正态分布?

r - 在 R "unable to create temporary directory"中安装包时出现问题

list - 将Data.frames列表组合成一个数据框

python - 按实际列表的值对 python 中的字典进行排序

Python函数替换输入变量