2016-11-07 8 views
0

forループを使用して棒グラフを作成しようとしているデータフレームのリストがあります。データフレームgeom_barプロットでxとyの値が一致しない

test2<- list(WBq2, WSq2, Kq2, Nq2, Fq2, LHq2, Lynq2, Mq2, NEq2, WB2q2, MCq2, Cq2, M2q2, NE2q2, K2q2, N2q2, MC2q2, C2q2, F2q2, LH2q2, GPq2) 

は、各データフレームはthis- K2q2のように見える場合

これがリストです。

date market Question Responses 
9 31-Jul  K2  $0   4 
10 31-Jul  K2 $1-10  26 
11 31-Jul  K2 $11-25  88 
12 31-Jul  K2 $26-50  43 
13 31-Jul  K2 $51-100  11 
14 31-Jul  K2 $100+   2 

これは私がこれは私のforループで

names2 <- c('WestBroadway', "West Side", "Kingfield","Nokomis", "Fulton", "Linden Hills", "Lyndale", "Midtown", "Northeast", "West Broadway2", "Mill City", "Camden", "Midtown2", "Northeast2", "Kingfield2", "Nokomis2", "Mill City2", "Camden2", "Fulton2", "Linden Hills2", "Govenors Plaza") 

を使用しています名前のベクトルである:

for (i in test2){ 
    for (j in names2){ 
    i$Question <- factor(i$Question, levels = i$Question) 
    plot <- ggplot(data = i, aes(x = Question, y = Responses)) + 
    geom_bar(stat="identity") + 
    ggtitle(j) + 
    labs(x="How much did you spend or plan on spending at the market today?", y= "Responses") 
    ggsave(filename=paste(j,"Q22",".pdf",sep=""), plot=plot, device = "pdf") 
    } 
} 

私はプロットがあり、このループを実行したときに、私が午前問題がありますxラベル(質問)によって生成されたラベルがyラベル(レスポンス)と一致しません。 K2q2データフレームにあるように、これらの2つの値をどうやって結びつけるのですか?

ありがとうございます!

+0

'names2'には何がありますか?あなたは今のように2番目の 'for'ループではなく最初の' for'ループで 'Question'変数を更新しようとしましたか? – bouncyball

+1

プロットを複数回( 'names2'の長さと同じくらい)同じ名前で印刷しています。したがって、最後のデータフレームの値は、 – Haboryme

+0

names2 < - c(WestBroadway、West Side、Kingfield、Nokomis、Fulton、Linden Hills、Lyndale、Midtown、 「北東」、「西ブロードウェイ2」、「ミル市」、「カムデン」、「ミッドタウン2」、「北東2」、「キングフィールド2」、「ノコミス2」、「ミルシティ2」、「カムデン2」、「フルトン2」、「リンデンヒルズ2」 "、" Govenors Plaza ") –

答えて

0

reproducible exampleがなければ、解決策を作るのが難しいかもしれません。これを試してください、それがうまくいくなら、それは私がそれを削除しない場合は、素晴らしいです。

j = 1 #initialize counter 
for (i in test2){ 

    i$Question <- factor(i$Question, levels = i$Question) 
    plot <- ggplot(data = i, aes(x = Question, y = Responses)) + 
    geom_bar(stat="identity") + 
    ggtitle(names2[j]) + 
    labs(x="How much did you spend or plan on spending at the market today?", y= "Responses") 
    ggsave(filename=paste(names2[j], "Q22", ".pdf", sep=""), 
     plot=plot, device = "pdf") 

j = j + 1 #update counter 

} 
関連する問題