2017-12-14 7 views
0

으로 매주 데이터를 플로팅 :계산 다음 샘플 데이터를 사용하여 그래프를 만들려고

DF : 여기 오류로 실행하고

ID  DAY STORE PRODid QTY GBP PROD 
2 8042899 1584 70470 1372  6 9.54 Yogurt 
3 8042899 1586 70470 1372  2 3.18 Yogurt 
4 8042899 1589 70470 1372  2 3.18 Yogurt 
5 8042899 1590 70470 307  3 3.27 Yogurt 
6 8042899 1590 70470 300  2 2.18 Yogurt 
7 8042899 1590 70470 1372  1 1.59 Yogurt 

;

df[, .(total_sales = (sum(QTY) * (GBP))), by = DAY] 
ggplot(aes(x = total_sales)) + 
    geom_histogram(fill = 'steelblue', bins = 50) + 
    labs(x = 'Day unit sales', title = 'Titlte of plot') 

DAY 열이 ts 객체없는의 문제인가?

+0

오류가 무엇입니까? –

+0

@PoGibas 좋은 발언 : 나는 모든 히스토그램이나 바 plot (ts 객체에 대한 발언으로 간주)에서가 아니라 timeseries 음모를 말할 것입니다 ... –

답변

1

나는 실제로 무엇을 음모로 꾸미기가 확실치 않으며, 오류가 무엇 인지도 모릅니다. total_salesDAY의 기능으로 표시하려고한다고 가정합니다. @PoGibas에 의해 제안으로, 당신은 geom_bar를 사용하는 것을 수행 할 수 있습니다

df <- read.table(text = 
    " ID  DAY STORE PRODid QTY GBP PROD 
2 8042899 1584 70470 1372  6 9.54 Yogurt 
3 8042899 1586 70470 1372  2 3.18 Yogurt 
4 8042899 1589 70470 1372  2 3.18 Yogurt 
5 8042899 1590 70470 307  3 3.27 Yogurt 
6 8042899 1590 70470 300  2 2.18 Yogurt 
7 8042899 1590 70470 1372  1 1.59 Yogurt", header = T) 

require(data.table); 
require(margrittr); 
require(ggplot2); 

df <- as.data.table(df); 

df[, .(total_sales = (sum(QTY) * (GBP))), by = DAY] %>% 
    ggplot(aes(x = DAY, y = total_sales)) + 
    geom_bar(fill = 'steelblue', stat = "identity") + 
    labs(x = 'Day', title = 'Title of plot') 

enter image description here

+0

고마워, 이것이 완벽하게 작동했습니다! 마지막 질문 하나; ";"대신 파이프 함수를 사용하려고합니다. 하지만 코드를 수정하고 파이프 함수 %> %를 사용하려고하면 오류가 발생합니다. – user113156

+1

@ user113156'magrittr' 파이프 운영자를 사용하기 위해 제 대답을 편집했습니다. 이것을 봐주세요. –