【发布时间】:2015-10-02 11:02:26
【问题描述】:
我有一个如下所示的数据集 (A2);
Year Gear Region Landings.t
1975 Creel Clyde 3.456
1976 Creel Clyde 20.531
1977 Creel Clyde 56.241
1978 Creel Clyde 43.761
1975 Creel Shetland 3.456
1976 Creel Shetland 10.531
1977 Creel Shetland 46.241
1978 Creel Shetland 33.761
我正在使用以下代码生成折线图;
ggplot(subset(A2,Region=="Clyde"),aes(x=Year,y=Landings.t,colour=Gear,group=Gear))+
geom_line()+
facet_grid(Gear~.,scales='free_y')+
ggtitle("CLYDE LANDINGS BY GEAR TIME-SERIES")+
theme(panel.background=element_rect(fill='white',colour='black'))+
geom_vline(xintercept=1984)
目前我正在为每个不同的区域复制代码,这使得我的脚本很长。我想知道是否有一种方法可以循环代码以遍历每个区域并为每个区域生成一个图?
我已尝试使用上一个问题Loop through a series of qplots 提供的答案,但是当我使用此代码时,它会返回“二进制运算符的非数字参数”错误。
for(Var in names(A2$Region)){
print(ggplot(A2,[,Var],aes(x=Year,y=Landings.t,colour=Gear,group=Gear))+
geom_line()+
facet_grid(Gear~.,scales='free_y')+
ggtitle("CLYDE LANDINGS BY GEAR TIME-SERIES")+
theme(panel.background=element_rect(fill='white',colour='black'))+
geom_vline(xintercept=1984)
}
【问题讨论】:
-
names(A2$Region)将返回NULL。你可能想要unique那里。在A2之后还有一个,,我认为您想在其中进行子集化。 -
你缺少
print的括号