【发布时间】:2016-12-22 18:41:18
【问题描述】:
这是来自 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)
}
【问题讨论】:
-
我注意到您没有链接到您昨天就该主题提出的问题。如果两者不同,请显示stackoverflow.com/questions/38954154/…
-
好主意,已编辑
-
好地方 - 现在修复了