2014-11-14 2 views
6

dplyr() 패키지를 처음 사용하고 시각화 지정을 위해이 패키지를 사용하려고합니다. 내 데이터를 ggplot()으로 파이프 처리 할 수 ​​있지만 plot()으로 처리 할 수 ​​없습니다. 나는 this post을 찾아 왔고 그 중 하나를 포함 해 답을 찾았는데 나에게 도움이되지 못했습니다.dplyr을 사용하여 파이프 또는 플롯 (플롯)하는 방법?

코드 1 :

Error in plot(year, total, emission) : object 'year' not found 

코드 2 :

emission <- mynei %>% 
    select(Emissions, year) %>% 
    group_by(year) %>% 
    summarise (total=sum(Emissions)) 

emission %>% 
    plot(year, total,.) 

나는 다음과 같은 오류 얻을

mynei %>% 
    select(Emissions, year) %>% 
    group_by(year) %>% 
    summarise (total=sum(Emissions))%>% 
    plot(year, total, .) 

이 중 하나를 작동하지 않았다과 같은 오류를 반환했습니다.

흥미롭게도 내가 언급 한 게시물의 솔루션은 동일한 데이터 세트에서 작동하지만 내 데이터에서는 작동하지 않습니다. 그러나 나는 배출 $ year방출 $ total을 사용하여 플롯을 생성 할 수 있습니다.

나는 무엇이 있습니까? 누군가가 질문에 aosmith의 코멘트 @ 놓친 경우

mynei %>% 
    select(Emissions, year) %>% 
    group_by(year) %>% 
    summarise (total=sum(Emissions))%>% 
    with(plot(year, total)) 

, 않습니다plot.formula가 데이터 인수를 가지고 : 가장 좋은 건 with에 파이프 그래서

+3

당신이 링크 한 질문에 대한 답변에서 볼 수 있듯이,'plot'.formula는'data' 인자를 가지고 있습니다. 따라서'plot (total ~ year,.) '을 사용해야합니다. – aosmith

+0

@aosmith 설명해 주셔서 감사합니다. 그것은 효과가 있었다. – sadiqsaleem

+0

이것은'.'을 지정하지 않아도 작동합니다 - 그래서 예. '줄거리 (총 ~ 년)'. –

답변

7

plot.default는 데이터 인수를 고려하지 않습니다 물론 formula이 첫 번째 인수이므로 올바른 위치에 데이터를 넣으려면 .을 사용해야합니다. 그래서 또 다른 옵션은 너무 ggplot를 사용하는, 물론

... %>% 
    plot(total ~ year, data = .) 

, ggplot는 첫 번째 인수로 data을 걸립니다 수행이 데이터 인수이지만, 처음이 아니다 : plot.formula처럼

... %>% 
    ggplot(aes(x = year, y = total)) + geom_point() 

lattice::xyplot입니다 , 그래서 :

... %>% 
    xyplot(total ~ year, data = .) 

그냥 설명서를보고을 사용했는지 확인하십시오. data이 첫 번째 인수가 아닌 경우. 인수가 전혀 없으면 with을 사용하는 것이 좋습니다.

+0

@ 그레고 감사합니다. 그것은 잘 작동했다. – sadiqsaleem

관련 문제