这是使用模拟数据简化我的问题。我想对列表的元素执行双循环以获取一些摘要统计信息。这是我的数据结构和approchimation的简化:
HasMany(p=>p.Lodgings).WithRequired(l=>l.Destination);
现在我可以获得列表中每个元素的value1的含义:
x1 <- runif(10, 5.0, 7.5)
x2 <- runif(10,3,7)
x3 <- runif(10,1,9)
x4 <- rep(1:2, c(6,4))
bag<-data.frame(cbind(x1,x2,x3,x4))
x1 <- runif(10, 5.0, 7.5)
x2 <- runif(10,3,7)
x3 <- runif(10,1,9)
x4 <- rep(1:2, c(6,4))
zul<-data.frame(cbind(x1,x2,x3,x4))
x1 <- runif(10, 5.0, 7.5)
x2 <- runif(10,3,7)
x3 <- runif(10,1,9)
x4 <- rep(1:2, c(6,4))
lwk<-data.frame(cbind(x1,x2,x3,x4))
x1 <- runif(10, 5.0, 7.5)
x2 <- runif(10,3,7)
x3 <- runif(10,1,9)
x4 <- rep(1:2, c(6,4))
job<-data.frame(cbind(x1,x2,x3,x4))
lts <- list(bag,zul,lwk,job)
for (i in 1:4){
colnames(lts[[i]])=c("val1","val2","val3","class")
}
但我想要的是获得一个包含变量value1,value2,value3的所有方法的列表。我试着这样做:
lst.mean.c1<-list()
for (i in 1:4){
lst.mean.c1[[i]]<-mean(lts[[i]]$val1[lts[[i]]$class==1])
}
我没有任何成功。你能帮我吗
答案 0 :(得分:3)
例如,使用评论中提到的colMeans
:
lapply(lts,
function(x) colMeans(x[,grep("val",names(x))]))