问题就在这里。我有两个向量列表。这些向量在相同位置具有相同的长度。但这些向量中有一些 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/