2017-12-03 5 views
-1

이 데이터 세트를 사용하려면 아래의 ggplot을 사용하여 장치 카테고리별로 플롯하려하며 다음 오류 메시지가 계속 나타납니다 (geom_path : 각 그룹은 하나의 관찰로 구성됩니다. 그룹 미학?) 그룹 = 1을 사용해 보았지만, 그게 작동하지 않았다. 많은 도움이 되었습니까?여러 개의 차트를 만들려고합니다

head(gaDataExt) 
     date deviceCategory users sessions pageviews 
1 20171130  desktop  6  6  10 
2 20171130   mobile 14  14  18 
3 20171130   tablet  1  1   1 
4 20171129  desktop 12  13  15 
5 20171129   mobile 29  30  33 
6 20171129   tablet  4  5   8 

# multiple plots faceted by device categry. 
ggplot(data = gaDataExt, mapping = aes(x = date, y = sessions),group = NULL) + 
    geom_line() + 
    facet_grid(deviceCategory ~ .) + 
    theme_bw() + 
    ylim(0,NA) 
+0

R의 v.3.4.2과'tidyverse' v.1.2.0을 사용하여 ('dplyr' v.0.7을. 4)와'ggplot2' v2.2.1은 잘 동작합니다. –

답변

0
df <- data.frame(date = c(rep(20171130, 3), rep(20171129, 3)), 
       deviceCategory = c('desktop', 'mobile', 'tablet'), 
       users = c(6, 14, 1, 12, 29, 4), 
       sessions = c(6, 14, 1, 13, 30, 5), 
       pageviews = c(10, 18, 1, 15, 33, 8)) 

쉽게 lubridate를 사용하여 개월 변경할 수 있습니다. 이것은 월별 평균을 제공합니다.

library(tidyverse) 
library(lubridate) 

df %>% 
    mutate(date = ymd(date), 
     month = month(date)) %>% 
    group_by(deviceCategory) %>% 
    summarise_all(funs(mean)) %>% 
    ggplot(aes(month, sessions)) + geom_point() + 
     facet_grid(deviceCategory~.) + 
    theme_bw() 

업데이트는 단순히 평균을 제거하고 날짜를 사용할 수 있습니다

df %>% 
    mutate(date = ymd(date)) %>% 
    ggplot(aes(date, sessions)) + geom_point() + 
     facet_grid(deviceCategory~.) + 
    theme_bw() 
+0

그래요. works .my point가 X 축의 모든 데이터 포인트를 표시하는 것보다 많습니다.하지만 나는 표시 할 무서운 요일과 반대로 월 및 일 레이블을 원합니다. –

+0

어쩌면 현재 출력을 보여주기 쉽기 때문에 내 문제를 볼 수 있습니다 ... 대신 iof x 축에 나열된 모든 단일 ymd를 말하고 싶습니다. 모든 mth를 말하고 싶습니다. 데이터 세트는 30/11/16 -30/11/17 –

+0

@AndyDonaldson 위의 업데이트를 참조하십시오. –