How to lapply `$` to a list
本问题已经有最佳答案,请猛点这里访问。
我有一个列表列表,每个子列表都有几十个元素,我只想提取其中一个。
1 | x = list(`1` = list(a=1,b=2),`2` = list(a=3,b=4)) |
有很多方法可以做到这一点,但是我想变得尽可能聪明,所以我尝试
1 2 3 4 5 6 | lapply(x,`$`,"b") # $`1` # NULL # # $`2` # NULL |
但尽管事实
1 2 | `$`(x[[1]],"b") # [1] 2 |
1 2 3 | mapply(`$`,x,MoreArgs=list(name="b")) # 1 2 # 2 4 |
我可以这样使用
1 2 3 4 5 6 | lapply(x,getElement,"b") # $`1` # [1] 2 # # $`2` # [1] 4 |
但是
您可以尝试
1 2 3 4 5 | $`1` [1] 2 $`2` [1] 4 |