a
是一个列表。 a<-list(1,3,4,2,5,6)
b
也是一个列表。 b<-list(c(1,2),4,5,6,7,8)
p
是一个指标。 p<-c(T,F,T,T,T,T)
如果p
为真,那么我们会在相应位置将a
替换为b
。否则,请保持原样a
。
所以预期的结果如下:
[[1]]
[1] 1 2
[[2]]
[1] 3
[[3]]
[1] 5
[[4]]
[1] 6
[[5]]
[1] 7
[[6]]
[1] 8
我使用以下代码计算:
replace(a,b,p)
但事实证明:
Error in replace(a, b, p) : invalid subscript type 'list'
你能帮忙解决这个问题,谢谢!
答案 0 :(得分:1)
我认为这应该有效:
a[p]<-b[p]
或:
ifelse(p, b, a)