【发布时间】:2012-05-24 11:42:01
【问题描述】:
我有 2 个列表,每个列表中还有两个包含数据框的列表(换句话说,嵌套列表)。我想根据主列表和嵌套列表的名称绘制每个数据框并为其命名。
例如,假设我们有:
a=list(
list(a=data.frame(x=rpois(5,1),y=rpois(5,1)),
b=data.frame(x=rpois(5,1),y=rpois(5,1))),
list(c=data.frame(x=rpois(5,1),y=rpois(5,1)),
d=data.frame(x=rpois(5,1),y=rpois(5,1))))
我们有主要列表的名称:
names(a)=c("alpha","bravo")
在两个主要列表alpha 和bravo 中,我们还有两个列表charlie 和delta:
for(i in 1:length(a)) {
names(a[[i]])=c("charlie","delta") }
我可以使用lapply 循环遍历每个列表并绘制数据框,但是我无法让标题将主列表的名称(alpha 和 bravo)和嵌套列表( charlie 和 delta) 用于每个数据帧。例如,在这种情况下,我希望有四个图名为:alpha_charlie、alpha_delta、bravo_charlie 和 bravo_delta。
lapply(a,function(i) {
lapply(names(i), function(j) {
ggplot()+
geom_point(data=i[[j]],aes(x,y))+
opts(title=paste(names(i),j,sep="_")) #Here is where I am struggling!
} ) } )
任何帮助将不胜感激。谢谢!
【问题讨论】:
标签: r list nested-lists