我有 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
andbravo
中,我们还有两个列表charlie
and delta
:
for(i in 1:length(a)) {
names(a[[i]])=c("charlie","delta") }
我可以使用lapply
循环遍历每个列表并绘制数据框,但是我无法让标题组合每个数据框的主列表 ( alpha
and bravo
) 和嵌套列表 ( charlie
and 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!
} ) } )
任何帮助将非常感激。谢谢!