我有以下列表:
[[1]]
[1] 0 -1 -2 -3 -4
[[2]]
[1] 2 1 0 -1 -2
[[3]]
[1] 2 3 4 5 6
我想从上面的列表中删除负值。 我正在尝试在r
中使用以下代码 x[ x > 0 ]
但是,它并没有消除负面价值。
答案 0 :(得分:2)
我们可以在每个列表元素上使用lapply
,并仅选择那些大于或等于0的值。
lapply(lst, function(x) x[x >= 0])
#$l1
#[1] 0
#$l2
#[1] 2 1 0
#$l3
#[1] 2 3 4 5 6
数据强>
lst = list(l1 = c(0,-1,-2,-3,-4),l2 = c(2,1,0,-1,-2), l3 = c(2,3,4,5,6))