2016-05-22 13 views
0

forループを使用して16個のボックスプロットをプロットしようとしています。私の問題は、第2のタイトルが第1のプロットにプロットされ、第3のタイトルが第2のプロットにプロットされるということです。forループを使用すると、第1ボックスプロットにタイトルがありません

私は何を間違えているのでしょうか?

enter image description here

私のコードは以下の通りです:

documentationに基づいて
boxplot(data$distance[data$countryname=="Sweden"]~data$alliance[data$countryname=="Sweden"],title(main = "Sweden")) 
boxplot(data$distance[data$countryname=="Norway"]~data$alliance[data$countryname=="Norway"],title(main = "Norway")) 
boxplot(data$distance[data$countryname=="Denmark"]~data$alliance[data$countryname=="Denmark"],title(main = "Denmark")) 
boxplot(data$distance[data$countryname=="Finland"]~data$alliance[data$countryname=="Finland"],title(main = "Finland")) 
boxplot(data$distance[data$countryname=="Iceland"]~data$alliance[data$countryname=="Iceland"],title(main = "Iceland")) 
boxplot(data$distance[data$countryname=="Belgium"]~data$alliance[data$countryname=="Belgium"],title(main = "Belgium")) 
boxplot(data$distance[data$countryname=="Netherlands"]~data$alliance[data$countryname=="Netherlands"],title(main = "Netherlands")) 
boxplot(data$distance[data$countryname=="Luxembourg"]~data$alliance[data$countryname=="Luxembourg"],title(main = "Luxembourg")) 
boxplot(data$distance[data$countryname=="France"]~data$alliance[data$countryname=="France"],title(main = "France")) 
boxplot(data$distance[data$countryname=="Italy"]~data$alliance[data$countryname=="Italy"],title(main = "Italy")) 
boxplot(data$distance[data$countryname=="Spain"]~data$alliance[data$countryname=="Spain"],title(main = "Spain")) 
boxplot(data$distance[data$countryname=="Portugal"]~data$alliance[data$countryname=="Portugal"],title(main = "Portugal")) 
boxplot(data$distance[data$countryname=="Germany"]~data$alliance[data$countryname=="Germany"],title(main = "Germany")) 
boxplot(data$distance[data$countryname=="Austria"]~data$alliance[data$countryname=="Austria"],title(main = "Austria")) 
boxplot(data$distance[data$countryname=="Ireland"]~data$alliance[data$countryname=="Ireland"],title(main = "Ireland")) 
boxplot(data$distance[data$countryname=="UK"]~data$alliance[data$countryname=="UK"],title(main = "UK")) 
+1

ループや同等のものを使用するか、今年は夏が大好きではありません;-) –

答えて

0

、あなたは機能title()に明示的な呼び出しを行うことによって、あなたの箱ひげ図にタイトルを割り当てるのではなく、パラメータとしてしなければなりませんboxplot()に電話してください。あなたの箱ひげ図を生成するための最初の2つの呼び出しが次のようになります。

boxplot(data$distance[data$countryname=="Sweden"]~data$alliance[data$countryname=="Sweden"]) 
title(main = "Sweden") 
boxplot(data$distance[data$countryname=="Norway"]~data$alliance[data$countryname=="Norway"]) 
title(main = "Norway") 
+1

'boxplot(...、main =" your_title ")'はうまく動作しますか? –

1

私は、これはすべてのあなたのラインにを交換してあなたの問題を解決することができると思う:

for (i in data$countryname) 
    boxplot(distance~alliance, subset(data, countryname==i), main=i) 

しかし、それはせずに検証するのは難しいです reproducible exampleまたは data.frameの一部です。

+0

素晴らしいですが、forループに中括弧がありません –

+0

@Edward: 'for'に続くものは' for'に限らず、中括弧は必要ありません。 –

関連する問題