在R中的列表中打印列表的名称?
对不起,标题太晦涩了 然而,这相当简单。我有一个包含多个列表的列表,例如:在R中的列表中打印列表的名称?,r,list,R,List,对不起,标题太晦涩了 然而,这相当简单。我有一个包含多个列表的列表,例如: list1 <- c(1,2,3,4,5,6,7,8,9,10) list2 <- c(2,3,4,5,6,7,8,9,10,11) list3 <- c(3,4,5,6,7,8,9,10,11,12) dataset <- list(list1, list2, list3) 但是,根据数据集列表中的列表数量,可能需要知道计算的平均值属于哪个列表。所以原则上我想说: for (data in
list1 <- c(1,2,3,4,5,6,7,8,9,10)
list2 <- c(2,3,4,5,6,7,8,9,10,11)
list3 <- c(3,4,5,6,7,8,9,10,11,12)
dataset <- list(list1, list2, list3)
但是,根据数据集列表中的列表数量,可能需要知道计算的平均值属于哪个列表。所以原则上我想说:
for (data in dataset) {
print(name-of-list-inside-dataset-list)
mean(data)
}
这是可以做到的,还是…?这是可以做到的,你所要做的就是列出清单:
list1 <- c(1,2,3,4,5,6,7,8,9,10)
list2 <- c(2,3,4,5,6,7,8,9,10,11)
list3 <- c(3,4,5,6,7,8,9,10,11,12)
dataset <- list("one" = list1, "two" = list2, "three" = list3)
names(dataset)
首先设置列表元素的名称: 无耻地从@Hanjo Jo'burg Odendal偷来
dataset <- list("one" = list1, "two" = list2, "three" = list3)
这似乎是
lappy
和names
函数的一个很好的用法lappy
方便地将相同的函数应用于列表的每个元素,从而绕过for
循环
list1 <- c(1,2,3,4,5,6,7,8,9,10)
list2 <- c(2,3,4,5,6,7,8,9,10,11)
list3 <- c(3,4,5,6,7,8,9,10,11,12)
dataset <- list(list1, list2, list3)
names(dataset) <- c("list1", "list2", "list3")
lapply(dataset, mean)
$list1
[1] 5.5
$list2
[1] 6.5
$list3
[1] 7.5
list1的可能重复项
dataset <- list("one" = list1, "two" = list2, "three" = list3)
lapply(seq_along(dataset),function(x){
paste("Name:", names(dataset[x]),"Mean:", mean(dataset[[x]]))
})
list1 <- c(1,2,3,4,5,6,7,8,9,10)
list2 <- c(2,3,4,5,6,7,8,9,10,11)
list3 <- c(3,4,5,6,7,8,9,10,11,12)
dataset <- list(list1, list2, list3)
names(dataset) <- c("list1", "list2", "list3")
lapply(dataset, mean)
$list1
[1] 5.5
$list2
[1] 6.5
$list3
[1] 7.5