Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中的列表中打印列表的名称?_R_List - Fatal编程技术网

在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