从嵌套列表中删除负值

时间:2017-06-23 06:47:33

标签: r

我有以下列表:

 [[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 ]

但是,它并没有消除负面价值。

1 个答案:

答案 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))