matevzraspet / APPR-2017-18

Repozitorij z gradivi za predmet Analiza podatkov s programom R v študijskem letu 2017/18
MIT License
0 stars 0 forks source link

Seštevek vrednosti v tabeli #3

Closed matevzraspet closed 6 years ago

matevzraspet commented 6 years ago

Pozdravljeni, zanima me samo kako bi lahko seštel vse vrednosti prvih 100 igralcev po pozicijah, da bi to prikazalo v spodnjem geom_bar. Sedaj mi prikaže vse, ampak mi jih ne sešteje, temveč mi jih samo prikaže ločene s črto. Koda:

graf.igralci <- ggplot(igralci1, aes(x = pozicija ,y = vrednost))+ geom_bar(stat = "identity", position = "dodge",color = "blue") + xlab("Pozicija") + ylab("Vrednost") + scale_y_continuous(limits = c(0, 200))+ theme(axis.text.x = element_text(angle = 90, vjust = 0.5)) + ggtitle("Vrednost igralcev po pozicijah") graf.igralci

Prav tako pa ne vem kako se naredi legendo za barvo golov in asistenc.

Koda: graf.statistika <- ggplot(data = messi_sezone, aes(x= starost)) + geom_line(aes(y=goli),size= 1.4, color ="blue")+ geom_line(aes(y= asistence),size = 1.4, color = "red")+ labs(title = "Povezava med starostjo in ucinkovitostjo Messija")+ scale_y_continuous(limits = c(0, 70))+ scale_x_continuous(limits = c(17, 31))+ xlab("Starost") + ylab("Goli in asistence") graf.statistika

Poizkušal sem takole, vendar ne deluje.

graf.statistika <- ggplot(data = messi_sezone, aes(x= starost)) + geom_line(aes(y=goli),size= 1.4, color ="goli")+ geom_line(aes(y= asistence),size = 1.4, color = "asistence")+ scale_color_manual("", values = c("goli" ="blue","asistence" ="red"))+ labs(title = "Povezava med starostjo in ucinkovitostjo Messija")+ scale_y_continuous(limits = c(0, 70))+ scale_x_continuous(limits = c(17, 31))+ xlab("Starost") + ylab("Goli in asistence") graf.statistika

Najlepša hvala za pomoč.

jaanos commented 6 years ago

Podatke združuješ z group_by in summarise:

graf.igralci <- ggplot(igralci1 %>% group_by(pozicija) %>% summarise(vrednost = sum(vrednost)),
                       aes(x = pozicija, y = vrednost)) +
  geom_col(position = "dodge", fill = "blue") +
  xlab("Pozicija") + ylab("Vrednost") +
  theme(axis.text.x = element_text(angle = 90, vjust = 0.5)) +
  ggtitle("Vrednost igralcev po pozicijah")

Če hočeš narisati več črt na graf, morajo podatki priti iz istega stolpca - podatki morajo biti v obliki tidy data. Podatke o golih in asistencah (tako kot tudi starost) lahko izračunaš iz razpredelnice messi, npr.

graf.statistika <- ggplot(data = messi %>% group_by(sezona) %>%
                            summarise(goli = sum(goli, na.rm = TRUE),
                                      asistence = sum(asistence, na.rm = TRUE)) %>%
                            melt(id.vars = "sezona", variable.name = "spremenljivka",
                                 value.name = "stevilo") %>%
                            mutate(starost = parse_number(sezona) + 13),
                          aes(x = starost, y = stevilo, color = spremenljivka)) +
  geom_line(size = 1.4) +
  labs(title = "Povezava med starostjo in učinkovitostjo Messija")+
  xlab("Starost") + ylab("Goli in asistence")

Če želiš spremeniti še naslov legende, grafu prišteješ še guides(color = guide_legend("naslov")) (lahko pa seveda tudi namesto spremenljivka uporabiš drugačno ime stolpca).

matevzraspet commented 6 years ago

Najlepša hvala za pomoč.