循环遍历多级列表以在R中绘制其元素

时间:2016-10-27 14:52:47

标签: r list loops plot

我需要你的帮助:

我有多级列表(列表中的列表),我必须在一个图上绘制他们的元素。一个图很简单,看起来像这样(抱歉非广义变量名称)

plot(powerList$ch1$frequency, powerList$ch1$power, type='hist', xlim = c(0,0.001))

powerList包含其他列表(ch1 ...)

我必须在frequencypower的列表中绘制ch1ch13

我尝试过以下方法:

创建了一个带有通道名称的向量(第二个列表)

chNames = c('ch1','ch2','ch3','ch4','ch7','ch8','ch9','ch10','ch11','ch13','ch14','ch15','ch16')

然后我试图循环它: 首先我创建了一个4倍4窗口

par(mfrow=c(4,4))

for (i in chNames){
  plot(powerList$i$frequency, powerList$i$power, type='hist', xlim = c(0,15))
}

par(mfrow=c(1,1))

我知道代码错了。这只是为了清楚地表明我想做什么。有没有办法简单有效地做到这一点?

谢谢

1 个答案:

答案 0 :(得分:1)

基本上,您只需要通过索引循环遍历列表。

for (i in seq_along(powerList)) { 
    plot(powerList[[i]]$frequency, powerList[[i]]$power, type='hist', xlim = c(0,15)) 
}