【问题标题】:How to replace list values with NA?如何用 NA 替换列表值?
【发布时间】:2018-07-05 12:16:50
【问题描述】:

有以下列表:

> mylist <- list(x=1:3, y=c(1,0.8,1))

如何将mylist$y!=1 替换为 NA

【问题讨论】:

  • lapply(mylist, function(i)replace(i, i != 1, NA)) 或仅mylist$y &lt;- replace(mylist$y, mylist$y != 1, NA) 仅用于y
  • is.na(mylist$y) &lt;- mylist$y != 1

标签: r list na


【解决方案1】:
mylist$y[mylist$y!=1] <- NA

mylist

# $x
# [1] 1 2 3
# 
# $y
# [1]  1 NA  1

【讨论】:

    【解决方案2】:
    with(mylist,modifyList(mylist,list(y=replace(y,y!=1,NA))))
    $x
    [1] 1 2 3
    
    $y
    [1]  1 NA  1
    

    【讨论】:

    • 或者只是within(mylist,y &lt;- replace(y,y!=1,NA)) ?
    猜你喜欢
    • 1970-01-01
    • 2022-06-16
    • 2013-10-23
    • 1970-01-01
    • 2022-07-15
    • 2020-07-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-28
    相关资源
    最近更新 更多