对于这个神秘的标题感到抱歉。
然而,它很简单。我有一个包含多个列表的列表,例如:
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) {
mean(data)
}
但是,根据数据集列表中的列表数量,可能知道计算出的平均值属于哪个列表。所以原则上我想说:
for (data in dataset) {
print(name-of-list-inside-dataset-list)
mean(data)
}
可以这样做,还是......?
答案 0 :(得分:1)
首先设置列表元素的名称: 从@Hanjo Jo'burg Odendaal无耻地偷走了
dataset <- list("one" = list1, "two" = list2, "three" = list3)
然后打印名称并表示:(不需要包装并且快速闪电)
lapply(seq_along(dataset),function(x){
paste("Name:", names(dataset[x]),"Mean:", mean(dataset[[x]]))
})
答案 1 :(得分:0)
这可以完成,您所要做的就是命名列表:
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)
我的建议是使用purrr
代码解决您的问题:
library(purrr)
dataset %>% map(mean)
答案 2 :(得分:0)
这看起来很适合names
和lapply
函数。 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
循环。
storeEmployee(employes: Employees){
return this.http.post('http://###.com/api/employees/PostEmployee?empId=1&name='+employes.name+'&job='+employes.job+'&email='+employes.email+'&isActive='+employes.isActive+'&mobile='+employes.mob+'&councilMember='+employes.isMember+'&jobId=1', employes );
}