我有两个列表m.list和r.list。m.list中有NA
值。对于那些具有NA
值的元素,我想要用r.list中的元素替换它。问题是,当我在R中使用replace
函数时,它会取r.list的索引并返回一个不正确的值。下面是可重现的示例。是否有一种方法可以根据另一个列表中的元素名称替换一个列表的值?
m.list <- list(a= 1,b=NA,c=3,d=NA)
r.list <- list(a= 4,d=8,c=9)
mr.list <- replace(m.list, which(is.na(m.list)), r.list[which(is.na(m.list))])
这是我得到的输出,b应该是NA,d应该是8:
> mr.list
$a
[1] 1
$b
[1] 8
$c
[1] 3
$d
NULL
以下是所需的输出:
这里是期望的输出:
$a
[1] 1
$b
[1] NA
$c
[1] 3
$d
[1] 8