这是来自此one的后续问题,我想在列表中创建一个列表,现在我希望能够访问嵌套列表并在其中实现函数太。如何使用循环访问列表中的所有列表
我有3个列表,其内具有两个列表:
my_list
structure(list(a = structure(list(a = structure(list(value = c(1L,
4L), class = structure(c(1L, 1L), .Label = c("a", "b", "c"), class = "factor")), .Names = c("value",
"class"), row.names = c(1L, 4L), class = "data.frame"), b = structure(list(
value = c(2, 1), class = structure(c(2L, 2L), .Label = c("a",
"b", "c"), class = "factor")), .Names = c("value", "class"
), row.names = c(2L, 5L), class = "data.frame")), .Names = c("a",
"b")), b = structure(list(a = structure(list(value = c(6, 1),
class = structure(c(1L, 1L), .Label = c("a", "b", "c", "d"
), class = "factor")), .Names = c("value", "class"), row.names = c(1L,
5L), class = "data.frame"), b = structure(list(value = c(5, 1
), class = structure(c(2L, 2L), .Label = c("a", "b", "c", "d"
), class = "factor")), .Names = c("value", "class"), row.names = c(2L,
6L), class = "data.frame")), .Names = c("a", "b")), c = structure(list(
a = structure(list(value = 5:6, class = structure(c(1L, 1L
), .Label = c("a", "b", "c", "d", "e"), class = "factor")), .Names = c("value",
"class"), row.names = 5:6, class = "data.frame"), b = structure(list(
value = c(4, 1), class = structure(c(2L, 2L), .Label = c("a",
"b", "c", "d", "e"), class = "factor")), .Names = c("value",
"class"), row.names = c(4L, 7L), class = "data.frame")), .Names = c("a",
"b"))), .Names = c("a", "b", "c"))
$a
$a$a
value class
1 a
4 a
$a$b
value class
2 b
1 b
$b
$b$a
value class
6 a
1 a
$b$b
value class
5 b
1 b
$c
$c$a
value class
5 a
6 a
$c$b
value class
4 b
1 b
我通过value != 1
要subset
每个嵌套列表使用循环使得所得到的名单看起来是这样的:
my_list
$a
$a$a
value class
4 a
$a$b
value class
2 b
$b
$b$a
value class
6 a
$b$b
value class
5 b
$c
$c$a
value class
5 a
6 a
$c$b
value class
4 b
有了下面的代码,我只能访问list [[1]][[1]]
,list[[2]][[2]]
和list[[3]][[3]]
。我如何通过循环访问其他人并应用subset
函数?
for (i in 1:length(my_list)) {
my_list[[i]][[i]] <- subset(my_list[[i]][[i]],my_list[[i]][[i]]$value=1)
}
我注意到您没有链接到您昨天就此主题提出的问题。如果两者不同,请说明http://stackoverflow.com/questions/38954154/using-a-loop-or-vectorisation-to-subset-a-list-by-multiple-elements-in-a-vecto –
好主意,编辑好吧 – Bonono
好点 - 现在修好了 – Bonono