2016-11-07 10 views
0

for 루프를 사용하여 막대 그래프를 만들려고하는 데이터 프레임 목록이 있습니다. 데이터는 각 데이터 프레임 this- K2q2 같다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) 

프레임 경우

목록이다.
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 

이는 내가

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 데이터 프레임에있는 것처럼이 두 값을 함께 고정시키는 방법은 무엇입니까?

감사합니다!

+0

'names2' 란 무엇입니까? 지금까지했던 것처럼 두 번째'for' 루프가 아니라 첫 번째'for' 루프에서'Question' 변수를 업데이트 해 보았습니까? – bouncyball

+1

플롯을 동일한 이름으로 여러 번 ('names2'의 길이만큼) 인쇄합니다. 따라서 마지막 데이터 프레임 – Haboryme

+0

names2 <- c ('WestBroadway', 'West Side', 'Kingfield', 'Nokomis', 'Fulton', 'Linden Hills', 'Lyndale', 'Midtown' "동북", "웨스트 브로드 웨이 2", "밀 시티", "캠든", "미드 타운 2", "동북 2", "Kingfield2", "Nokomis2", "Mill City2", "Camden2", "Fulton2", "Linden Hills2 ","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 

}