【发布时间】:2016-08-04 10:18:35
【问题描述】:
我有一个小问题:
假设有两个列表“default”和“example”,每个列表由 5 个具有相同名称的元素组成(“p1”、“p2”、“p3”、“p4”、“p5”)。
如果示例的“p-values”具有分配给它的值,则该值将保留。
如果“p-value”没有分配给它的值(NA),则应使用默认的相应“p-value”来替换间隙。
我知道您可以使用 for 循环遍历每个元素,并在 for 循环中构造一个 if 循环,但是否有更优雅的解决方案?
这里是一个例子:
example=list(p1=2,p2=3,p3=4,p4=NA,p5=NA)
default=list(p1=26,p2=34,p3=43,p4=11,p5=98)
【问题讨论】:
-
请分享您的数据,而不是描述它。
-
子集和替换使用
is.na()。像example[ is.na(example)]