我正在处理一个list
对象,其中包含数百个随机整数“列表”,格式如下:
assignments <- list(
as.integer(c(1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3)),
as.integer(c(1, 1, 1, 0, 0, 0, 3, 3)),
as.integer(c(1, 3, 3, 3, 3, 3, 3, 2, 2)),
as.integer(c(1, 2, 0, 3, 2, 3, 2, 2, 2))
)
[[1]]
[1] 1 1 1 1 1 1 2 2 2 3 3
[[2]]
[1] 1 1 1 0 0 0 3 3
[[3]]
[1] 1 3 3 3 3 3 3 2 2
[[4]]
[1] 1 2 0 3 2 3 2 2 2
从中提取给定列表中最常见的“非零”整数。但是,在此list
对象的某些列表中,零似乎是最常见的整数,例如第二个列表[[2]]
。在我的分析中产生了一些问题。
是否有循环列表列表从这个大列表的每个列表中删除某些元素,例如零?
我之前尝试过的一种方法是遍历此列表列表并使用!=
排除等于零的值
for(i in assignments){i[i != 0]}
但这不起作用。
答案 0 :(得分:1)
lapply(assignments,function(x) x[x!=0])