我试图通过从我之前创建的列表中迭代选择data.frames来创建一个绘图列表;但是,每当我尝试选择除最后一个之外的那个图表列表中的元素时,我都会收到错误:
数据:4个不同数据框“IT”的列表(参见str的底部)
代码:
for(i in 1:length(IT)){
myplotlist[[i]]<- ggplot(IT[[i]],aes(IT[[i]][,1],IT[[i]][,2]))+geom_point()
}
问题: 当我选择myplotlist [[1]]时,我会回来:
错误:美学必须是长度1或与数据(370)相同:x,y
然而,myplotlist [[4]]给了我正确的情节。
这里有人有想法吗?我相信使用lapply可以很容易地省略for循环。
非常感谢,
str(IT)
'IT' is a list of 4
$ :'data.frame': 370 obs. of 3 variables:
..$ AsofDate : Date[1:370], format: "2014-04-08" "2014- 04-09" "2014-04-17" "2014-05-07" ...
..$ FUT_CLOSE_BASE_Q1: num [1:370] 55.5 55.5 56.9 56 56.6 ...
..$ Q : chr [1:370] "Q1" "Q1" "Q1" "Q1" ...
$ :'data.frame': 288 obs. of 3 variables:
..$ AsofDate : Date[1:288], format: "2014-04-07" "2014-05-19" "2014-07-14" "2014-07-15" ...
..$ FUT_CLOSE_BASE_Q2: num [1:288] 47.3 47.6 47.6 47.6 48.3 ...
..$ Q : chr [1:288] "Q2" "Q2" "Q2" "Q2" ...
$ :'data.frame': 375 obs. of 3 variables:
..$ AsofDate : Date[1:375], format: "2014-04-07" "2014-04-08" "2014-04-09" "2014-04-10" ...
..$ FUT_CLOSE_BASE_Q3: num [1:375] 53.9 53.1 53.5 53 53.6 ...
..$ Q : chr [1:375] "Q3" "Q3" "Q3" "Q3" ...
$ :'data.frame': 467 obs. of 3 variables:
..$ AsofDate : Date[1:467], format: "2014-04-07" "2014-04-08" "2014-04-09" "2014-04-10" ...
..$ FUT_CLOSE_BASE_Q4: num [1:467] 56.8 56.5 56.5 56.3 57.2 ...
..$ Q : chr [1:467] "Q4" "Q4" "Q4" "Q4" ...