5 Exercitii
Incărcăm pachete:
Pregătim un tabel pentru reprezentare:
- păstrăm doar observațiile din anul 2007;
- ștergem coloana cu anul (
year
); - schimbăm nume de coloane în limba română.
tabel_intermediar <- gapminder[gapminder$year==2007,]
tabel <- tabel_intermediar[,-3]
colnames(tabel)[2]="Continent"
colnames(tabel)[5]='GDP'
colnames(tabel)[4]='Populatie'
Reprezentăm un nor de puncte la care adăugăm etichete pentru axe și titlu, subtitlu, nota de subsol.
ggplot(data=tabel, aes(x=GDP, y=Populatie))+
geom_point(aes(shape=Continent))+
labs(
x='eticheta pentru x',
y='eticheta pentru y',
title='Titlu mare pentru grafic',
subtitle = 'ceva subtitlu subtil',
caption = 'nota de subsol/ explicatie in plus'
)
Cu tabelul flights
:
?flights
Lista companii aeriene
# flights$carrier
Selectăm zborurile “AS” - Alaska airlines.
zboruri <- flights[flights$carrier=="AS",]
sumar:
summary(zboruri)
## year month day dep_time
## Min. :2013 Min. : 1.000 Min. : 1.00 Min. : 651.0
## 1st Qu.:2013 1st Qu.: 3.000 1st Qu.: 8.00 1st Qu.: 717.8
## Median :2013 Median : 6.000 Median :16.00 Median :1805.0
## Mean :2013 Mean : 6.415 Mean :15.79 Mean :1294.6
## 3rd Qu.:2013 3rd Qu.: 9.000 3rd Qu.:23.00 3rd Qu.:1825.0
## Max. :2013 Max. :12.000 Max. :31.00 Max. :2205.0
## NA's :2
## sched_dep_time dep_delay arr_time sched_arr_time
## Min. : 705 Min. :-21.000 Min. : 3 Min. :1015
## 1st Qu.: 720 1st Qu.: -7.000 1st Qu.:1003 1st Qu.:1025
## Median :1815 Median : -3.000 Median :2043 Median :2125
## Mean :1285 Mean : 5.805 Mean :1565 Mean :1595
## 3rd Qu.:1825 3rd Qu.: 3.000 3rd Qu.:2128 3rd Qu.:2145
## Max. :1835 Max. :225.000 Max. :2355 Max. :2158
## NA's :2 NA's :2
## arr_delay carrier flight tailnum
## Min. :-74.000 Length:714 Min. : 5.00 Length:714
## 1st Qu.:-32.000 Class :character 1st Qu.: 7.00 Class :character
## Median :-17.000 Mode :character Median : 7.00 Mode :character
## Mean : -9.931 Mean : 12.19
## 3rd Qu.: 2.000 3rd Qu.: 15.00
## Max. :198.000 Max. :915.00
## NA's :5
## origin dest air_time distance
## Length:714 Length:714 Min. :277.0 Min. :2402
## Class :character Class :character 1st Qu.:314.0 1st Qu.:2402
## Mode :character Mode :character Median :324.0 Median :2402
## Mean :325.6 Mean :2402
## 3rd Qu.:336.0 3rd Qu.:2402
## Max. :392.0 Max. :2402
## NA's :5
## hour minute time_hour
## Min. : 7.00 Min. : 5.00 Min. :2013-01-01 07:00:00.00
## 1st Qu.: 7.00 1st Qu.:20.00 1st Qu.:2013-03-31 09:45:00.00
## Median :18.00 Median :25.00 Median :2013-06-28 12:30:00.00
## Mean :12.62 Mean :22.18 Mean :2013-06-29 05:05:27.73
## 3rd Qu.:18.00 3rd Qu.:25.00 3rd Qu.:2013-09-25 15:15:00.00
## Max. :18.00 Max. :35.00 Max. :2013-12-31 18:00:00.00
##
ggplot(data=zboruri, aes(x=dep_delay, y=arr_delay))+
geom_point()
## Warning: Removed 5 rows containing missing values (`geom_point()`).
5.1 Valori lipsa:
lipsa <- is.na(zboruri$dep_delay)
sum(lipsa)
## [1] 2
zboruriFaraNA1 <- zboruri[!is.na(zboruri$dep_delay),]
ggplot(data=zboruri, aes(x=dep_delay, y=arr_delay))+
geom_point()
## Warning: Removed 5 rows containing missing values (`geom_point()`).
rezolv si arr_delay
zboruriFaraNA2 <- zboruriFaraNA1[!is.na(zboruriFaraNA1$arr_delay),]
ggplot(data=zboruriFaraNA2, aes(x=dep_delay, y=arr_delay))+
geom_point()
alte variante de a renunta la valori lipsa
- elimin toate NA
faraNAdeTot <- na.omit(zboruri)
5.2 Exersăm:
?gapminder
- Selectați observațiile din 2002.
tabel <- gapminder[gapminder$year==2002,]
head(tabel)
## # A tibble: 6 × 6
## country continent year lifeExp pop gdpPercap
## <fct> <fct> <int> <dbl> <int> <dbl>
## 1 Afghanistan Asia 2002 42.1 25268405 727.
## 2 Albania Europe 2002 75.7 3508512 4604.
## 3 Algeria Africa 2002 71.0 31287142 5288.
## 4 Angola Africa 2002 41.0 10866106 2773.
## 5 Argentina Americas 2002 74.3 38331121 8798.
## 6 Australia Oceania 2002 80.4 19546792 30688.
- Redenumiți toate coloanele în limba română.
colnames(tabel)
## [1] "country" "continent" "year" "lifeExp" "pop" "gdpPercap"
- Reprezentați un nor de puncte pentru
gdp
șipop
.
ggplot(data=tabel, aes(x=GDP, y=Populatie))+
geom_point()
- Colorați punctele cu o culoare la alegere.
ggplot(data=tabel, aes(x=GDP, y=Populatie))+
geom_point(color='tomato')
- Colorați punctele în funcție de continent.
ggplot(data=tabel, aes(x=GDP, y=Populatie))+
geom_point(aes(color=Continent))
- Setați mărimea punctelor în funcție de
lifeExp
.
ggplot(data=tabel, aes(x=GDP, y=Populatie))+
geom_point(aes(color=Continent, size=LifeExp))
6.1. Schimbarea formei:
ggplot(data=tabel, aes(x=GDP, y=Populatie))+
geom_point(aes(shape=Continent))
- Adaugati etichete la axe, titlu, subtitlu si nota de subsol la ultimul grafic.
ggplot(data=tabel, aes(x=GDP, y=Populatie))+
geom_point(aes(shape=Continent))+
labs(
x='eticheta pentru x',
y='eticheta pentru y',
title='Titlu mare pentru grafic',
subtitle = 'ceva subtitlu subtil',
caption = 'nota de subsol/ explicatie in plus'
)
- Setati transaparenta punctelor la ultimul grafic.
ggplot(data=tabel, aes(x=GDP, y=Populatie))+
geom_point(aes(shape=Continent), alpha=0.5)+
labs(
x='eticheta pentru x',
y='eticheta pentru y',
title='Titlu mare pentru grafic',
subtitle = 'ceva subtitlu subtil',
caption = 'nota de subsol/ explicatie in plus'
)