Exercitii

Cu tabelul pseudo_facebook:

Reprezentati printr-un nor de puncte variabilele friend_count si friendships_initiated.
qplot(x=friend_count, y=friendships_initiated, data=pf)

Testati 3 valori pentru alpha in graficul de mai sus.
qplot(x=friend_count, y=friendships_initiated, data=pf, alpha=1/20)

ggplot(aes(x=friend_count, y=friendships_initiated), data=pf)+
  geom_point(alpha=1/30)

Colorati punctele din nor intr-o culoare la alegere.
ggplot(aes(x=friend_count, y=friendships_initiated), data=pf)+
  geom_point(alpha=1/30, color="lightcoral")

Colorati punctele din nor in functie de sex.
ggplot(aes(x=friend_count, y=friendships_initiated), data=subset(pf, !is.na(pf$gender)))+
  geom_point(alpha=1/5, aes(color=gender))

Reprezentati printr-un nor de puncte variabilele dob_year (orizontal) si mobile_likes (vertical).
ggplot(aes(x=dob_year, y=mobile_likes), data=pf)+
  geom_point()

Testati 3 valori pentru alpha in graficul de mai sus.
ggplot(aes(x=dob_year, y=mobile_likes), data=pf)+
  geom_point(alpha=1/10)

Colorati punctele din nor intr-o culoare la alegere.
ggplot(aes(x=dob_year, y=mobile_likes), data=pf)+
  geom_point(alpha=1/10, color="deepskyblue4")
Colorati punctele din nor in functie de sex.
ggplot(aes(x=dob_year, y=mobile_likes), data=subset(pf,!is.na(gender)))+
  geom_point(alpha=1/10, aes(color=gender))
Grupati datele din pf in functie de anul nasterii.
library(dplyr)
package <U+393C><U+3E31>dplyr<U+393C><U+3E32> was built under R version 3.5.3
Attaching package: <U+393C><U+3E31>dplyr<U+393C><U+3E32>

The following object is masked from <U+393C><U+3E31>package:gridExtra<U+393C><U+3E32>:

    combine

The following objects are masked from <U+393C><U+3E31>package:stats<U+393C><U+3E32>:

    filter, lag

The following objects are masked from <U+393C><U+3E31>package:base<U+393C><U+3E32>:

    intersect, setdiff, setequal, union
pfAn <- group_by(pf, dob_year)
str(pfAn)
Pentru fiecare an al nasterii salvati intr-un tabel nou media, mediana si numarul de observatii pentru variabila mobile_likes.
pfAn.sumar <- summarise(pfAn,
                        MediaML=mean(mobile_likes),
                        MedianaML=median(mobile_likes),
                        Nobs=n())
head(pfAn.sumar)
Reprezentati intr-un grafic media si mediana pentru mobile_likes pentru fiecare an (printr-o linie poligonala).
G1 <- ggplot(aes(dob_year), data=pfAn.sumar)+
  geom_line(aes(y=MediaML), color="blue")+
  geom_line(aes(y=MedianaML), color="red")+
  geom_line(aes(y=Nobs), color="green")+
  ylab("Media, mediana si Nobs Mobile_likes")
G1
Reprezentati intr-un grafic numarul de mobile_likes pentru fiecare an.
G2 <- ggplot(aes(x=dob_year, y=Nobs), data=pfAn.sumar)+
  geom_line(color="firebrick3")
G2
Grupati ultimele doua grafice impreuna.
library(gridExtra)
grid.arrange(G1,G2)

Reprezentati printr-un nor de puncte dob_year si likes_received.
ggplot(aes(x=dob_year, y=likes_received), data=pf)+
  geom_point()

Adaugati pe graficul de mai sus media likes_received pentru fiecare dob_year (printr-o linie poligonala).
ggplot(aes(x=dob_year, y=likes_received), data=pf)+
  geom_point(color='chocolate1', alpha=1/10)+
  geom_line(stat="summary", fun.y=mean)+
  coord_cartesian(ylim=c(0,5000))

Adaugati pe graficul de mai sus mediana, quantilele 10% si 90%.
ggplot(aes(x=dob_year, y=likes_received), data=pf)+
  geom_point(color='chocolate1', alpha=1/10)+
  geom_line(stat="summary", fun.y=mean)+
  geom_line(stat="summary", fun.y=median, linetype=2)+
  geom_line(stat="summary", fun.y=quantile, fun.args=list(probs=0.9), linetype=3, color="darkblue")+
  geom_line(stat="summary", fun.y=quantile, fun.args=list(probs=0.1), linetype=3, color="darkblue")+
  coord_cartesian(ylim=c(0,750))

Reveniti la toate graficele de mai sus si adaugati etichete potrivite pentru axe, titluri, subtitluri, si explicatii (caption).

Exercitii:

  1. Grupati datele din pf in functie de dob_month.

  2. Pentru fiecare valoare a dob_month calculati pentru variabilele likes, mobile_likes si www_likes valoare medie, mediana, abaterea medie patratica, suma si numarul de observatii.

  3. Reprezentati mediile celor 3 variabile ca si linii poligonale.

  4. Reprezentati medianele celor 3 variabile ca si linii poligonale.

  5. Grupati datele din pf in functie de tenure.

  6. Pentru fiecare valoare a tenure calculati pentru variabilele likes, mobile_likes si www_likes valoare medie, mediana, abaterea medie patratica, suma si numarul de observatii.

  7. Reprezentati mediile celor 3 variabile ca si linii poligonale.

  8. Reprezentati medianele celor 3 variabile ca si linii poligonale.

LS0tDQp0aXRsZTogIlNlbWluYXIgQzQiDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQoNCkV4ZXJjaXRpaQ0KDQpDdSB0YWJlbHVsIHBzZXVkb19mYWNlYm9vazoNCg0KICAgIFJlcHJlemVudGF0aSBwcmludHItdW4gbm9yIGRlIHB1bmN0ZSB2YXJpYWJpbGVsZSBmcmllbmRfY291bnQgc2kgZnJpZW5kc2hpcHNfaW5pdGlhdGVkLg0KICAgIA0KYGBge3J9DQpxcGxvdCh4PWZyaWVuZF9jb3VudCwgeT1mcmllbmRzaGlwc19pbml0aWF0ZWQsIGRhdGE9cGYpDQpgYGANCiAgICANCiAgICANCiAgICBUZXN0YXRpIDMgdmFsb3JpIHBlbnRydSBhbHBoYSBpbiBncmFmaWN1bCBkZSBtYWkgc3VzLg0KICAgIA0KYGBge3J9DQpxcGxvdCh4PWZyaWVuZF9jb3VudCwgeT1mcmllbmRzaGlwc19pbml0aWF0ZWQsIGRhdGE9cGYsIGFscGhhPTEvMjApDQpgYGANCg0KYGBge3J9DQpnZ3Bsb3QoYWVzKHg9ZnJpZW5kX2NvdW50LCB5PWZyaWVuZHNoaXBzX2luaXRpYXRlZCksIGRhdGE9cGYpKw0KICBnZW9tX3BvaW50KGFscGhhPTEvMzApDQpgYGANCg0KICAgIENvbG9yYXRpIHB1bmN0ZWxlIGRpbiBub3IgaW50ci1vIGN1bG9hcmUgbGEgYWxlZ2VyZS4NCiAgICANCmBgYHtyfQ0KZ2dwbG90KGFlcyh4PWZyaWVuZF9jb3VudCwgeT1mcmllbmRzaGlwc19pbml0aWF0ZWQpLCBkYXRhPXBmKSsNCiAgZ2VvbV9wb2ludChhbHBoYT0xLzMwLCBjb2xvcj0ibGlnaHRjb3JhbCIpDQpgYGAgICANCg0KICAgIENvbG9yYXRpIHB1bmN0ZWxlIGRpbiBub3IgaW4gZnVuY3RpZSBkZSBzZXguDQoNCmBgYHtyfQ0KZ2dwbG90KGFlcyh4PWZyaWVuZF9jb3VudCwgeT1mcmllbmRzaGlwc19pbml0aWF0ZWQpLCBkYXRhPXN1YnNldChwZiwgIWlzLm5hKHBmJGdlbmRlcikpKSsNCiAgZ2VvbV9wb2ludChhbHBoYT0xLzUsIGFlcyhjb2xvcj1nZW5kZXIpKQ0KYGBgIA0KDQogICAgDQogICAgUmVwcmV6ZW50YXRpIHByaW50ci11biBub3IgZGUgcHVuY3RlIHZhcmlhYmlsZWxlIGRvYl95ZWFyIChvcml6b250YWwpIHNpIG1vYmlsZV9saWtlcyAodmVydGljYWwpLg0KICAgIA0KYGBge3J9DQpnZ3Bsb3QoYWVzKHg9ZG9iX3llYXIsIHk9bW9iaWxlX2xpa2VzKSwgZGF0YT1wZikrDQogIGdlb21fcG9pbnQoKQ0KYGBgDQoNCiAgICANCiAgICANCiAgICBUZXN0YXRpIDMgdmFsb3JpIHBlbnRydSBhbHBoYSBpbiBncmFmaWN1bCBkZSBtYWkgc3VzLg0KICAgIA0KYGBge3J9DQpnZ3Bsb3QoYWVzKHg9ZG9iX3llYXIsIHk9bW9iaWxlX2xpa2VzKSwgZGF0YT1wZikrDQogIGdlb21fcG9pbnQoYWxwaGE9MS8xMCkNCmBgYA0KICAgIA0KICAgIA0KICAgIENvbG9yYXRpIHB1bmN0ZWxlIGRpbiBub3IgaW50ci1vIGN1bG9hcmUgbGEgYWxlZ2VyZS4NCg0KYGBge3J9DQpnZ3Bsb3QoYWVzKHg9ZG9iX3llYXIsIHk9bW9iaWxlX2xpa2VzKSwgZGF0YT1wZikrDQogIGdlb21fcG9pbnQoYWxwaGE9MS8xMCwgY29sb3I9ImRlZXBza3libHVlNCIpDQpgYGANCg0KICAgIA0KICAgIENvbG9yYXRpIHB1bmN0ZWxlIGRpbiBub3IgaW4gZnVuY3RpZSBkZSBzZXguDQogICAgDQpgYGB7cn0NCmdncGxvdChhZXMoeD1kb2JfeWVhciwgeT1tb2JpbGVfbGlrZXMpLCBkYXRhPXN1YnNldChwZiwhaXMubmEoZ2VuZGVyKSkpKw0KICBnZW9tX3BvaW50KGFscGhhPTEvMTAsIGFlcyhjb2xvcj1nZW5kZXIpKQ0KYGBgDQoNCg0KICAgIEdydXBhdGkgZGF0ZWxlIGRpbiBwZiBpbiBmdW5jdGllIGRlIGFudWwgbmFzdGVyaWkuDQogICAgDQpgYGB7cn0NCmxpYnJhcnkoZHBseXIpDQpgYGANCg0KICAgIA0KICAgIA0KYGBge3J9DQpwZkFuIDwtIGdyb3VwX2J5KHBmLCBkb2JfeWVhcikNCnN0cihwZkFuKQ0KYGBgDQoNCiAgICBQZW50cnUgZmllY2FyZSBhbiBhbCBuYXN0ZXJpaSBzYWx2YXRpIGludHItdW4gdGFiZWwgbm91IG1lZGlhLCBtZWRpYW5hIHNpIG51bWFydWwgZGUgb2JzZXJ2YXRpaSBwZW50cnUgdmFyaWFiaWxhIG1vYmlsZV9saWtlcy4NCiAgICANCmBgYHtyfQ0KcGZBbi5zdW1hciA8LSBzdW1tYXJpc2UocGZBbiwNCiAgICAgICAgICAgICAgICAgICAgICAgIE1lZGlhTUw9bWVhbihtb2JpbGVfbGlrZXMpLA0KICAgICAgICAgICAgICAgICAgICAgICAgTWVkaWFuYU1MPW1lZGlhbihtb2JpbGVfbGlrZXMpLA0KICAgICAgICAgICAgICAgICAgICAgICAgTm9icz1uKCkpDQpoZWFkKHBmQW4uc3VtYXIpDQpgYGANCg0KICAgIA0KICAgIFJlcHJlemVudGF0aSBpbnRyLXVuIGdyYWZpYyBtZWRpYSBzaSBtZWRpYW5hIHBlbnRydSBtb2JpbGVfbGlrZXMgcGVudHJ1IGZpZWNhcmUgYW4gKHByaW50ci1vIGxpbmllIHBvbGlnb25hbGEpLg0KICAgIA0KYGBge3J9DQpHMSA8LSBnZ3Bsb3QoYWVzKGRvYl95ZWFyKSwgZGF0YT1wZkFuLnN1bWFyKSsNCiAgZ2VvbV9saW5lKGFlcyh5PU1lZGlhTUwpLCBjb2xvcj0iYmx1ZSIpKw0KICBnZW9tX2xpbmUoYWVzKHk9TWVkaWFuYU1MKSwgY29sb3I9InJlZCIpKw0KICBnZW9tX2xpbmUoYWVzKHk9Tm9icyksIGNvbG9yPSJncmVlbiIpKw0KICB5bGFiKCJNZWRpYSwgbWVkaWFuYSBzaSBOb2JzIE1vYmlsZV9saWtlcyIpDQpHMQ0KYGBgDQogIA0KICAgIFJlcHJlemVudGF0aSBpbnRyLXVuIGdyYWZpYyBudW1hcnVsIGRlIG1vYmlsZV9saWtlcyBwZW50cnUgZmllY2FyZSBhbi4NCiAgICANCg0KYGBge3J9DQpHMiA8LSBnZ3Bsb3QoYWVzKHg9ZG9iX3llYXIsIHk9Tm9icyksIGRhdGE9cGZBbi5zdW1hcikrDQogIGdlb21fbGluZShjb2xvcj0iZmlyZWJyaWNrMyIpDQpHMg0KYGBgDQoNCiAgICBHcnVwYXRpIHVsdGltZWxlIGRvdWEgZ3JhZmljZSBpbXByZXVuYS4NCiAgICANCmBgYHtyfQ0KbGlicmFyeShncmlkRXh0cmEpDQpgYGANCmBgYHtyfQ0KZ3JpZC5hcnJhbmdlKEcxLEcyKQ0KYGBgDQoNCg0KICAgIFJlcHJlemVudGF0aSBwcmludHItdW4gbm9yIGRlIHB1bmN0ZSBkb2JfeWVhciBzaSBsaWtlc19yZWNlaXZlZC4NCiAgICANCmBgYHtyfQ0KZ2dwbG90KGFlcyh4PWRvYl95ZWFyLCB5PWxpa2VzX3JlY2VpdmVkKSwgZGF0YT1wZikrDQogIGdlb21fcG9pbnQoKQ0KYGBgDQoNCiAgICBBZGF1Z2F0aSBwZSBncmFmaWN1bCBkZSBtYWkgc3VzIG1lZGlhIGxpa2VzX3JlY2VpdmVkIHBlbnRydSBmaWVjYXJlIGRvYl95ZWFyIChwcmludHItbyBsaW5pZSBwb2xpZ29uYWxhKS4NCiAgICANCiAgICANCmBgYHtyfQ0KZ2dwbG90KGFlcyh4PWRvYl95ZWFyLCB5PWxpa2VzX3JlY2VpdmVkKSwgZGF0YT1wZikrDQogIGdlb21fcG9pbnQoY29sb3I9J2Nob2NvbGF0ZTEnLCBhbHBoYT0xLzEwKSsNCiAgZ2VvbV9saW5lKHN0YXQ9InN1bW1hcnkiLCBmdW4ueT1tZWFuKSsNCiAgY29vcmRfY2FydGVzaWFuKHlsaW09YygwLDUwMDApKQ0KYGBgDQoNCg0KICAgIEFkYXVnYXRpIHBlIGdyYWZpY3VsIGRlIG1haSBzdXMgbWVkaWFuYSwgcXVhbnRpbGVsZSAxMCUgc2kgOTAlLg0KICAgIA0KICAgIA0KYGBge3J9DQpnZ3Bsb3QoYWVzKHg9ZG9iX3llYXIsIHk9bGlrZXNfcmVjZWl2ZWQpLCBkYXRhPXBmKSsNCiAgZ2VvbV9wb2ludChjb2xvcj0nY2hvY29sYXRlMScsIGFscGhhPTEvMTApKw0KICBnZW9tX2xpbmUoc3RhdD0ic3VtbWFyeSIsIGZ1bi55PW1lYW4pKw0KICBnZW9tX2xpbmUoc3RhdD0ic3VtbWFyeSIsIGZ1bi55PW1lZGlhbiwgbGluZXR5cGU9MikrDQogIGdlb21fbGluZShzdGF0PSJzdW1tYXJ5IiwgZnVuLnk9cXVhbnRpbGUsIGZ1bi5hcmdzPWxpc3QocHJvYnM9MC45KSwgbGluZXR5cGU9MywgY29sb3I9ImRhcmtibHVlIikrDQogIGdlb21fbGluZShzdGF0PSJzdW1tYXJ5IiwgZnVuLnk9cXVhbnRpbGUsIGZ1bi5hcmdzPWxpc3QocHJvYnM9MC4xKSwgbGluZXR5cGU9MywgY29sb3I9ImRhcmtibHVlIikrDQogIGNvb3JkX2NhcnRlc2lhbih5bGltPWMoMCw3NTApKQ0KYGBgICAgIA0KICAgIA0KDQogICAgUmV2ZW5pdGkgbGEgdG9hdGUgZ3JhZmljZWxlIGRlIG1haSBzdXMgc2kgYWRhdWdhdGkgZXRpY2hldGUgcG90cml2aXRlIHBlbnRydSBheGUsIHRpdGx1cmksIHN1YnRpdGx1cmksIHNpIGV4cGxpY2F0aWkgKGNhcHRpb24pLg0KDQotLS0tLS0NCg0KIyMgRXhlcmNpdGlpOg0KDQoxLiBHcnVwYXRpIGRhdGVsZSBkaW4gcGYgaW4gZnVuY3RpZSBkZSBkb2JfbW9udGguDQoNCiAgMi4gUGVudHJ1IGZpZWNhcmUgdmFsb2FyZSBhIGRvYl9tb250aCBjYWxjdWxhdGkgcGVudHJ1IHZhcmlhYmlsZWxlIGxpa2VzLCBtb2JpbGVfbGlrZXMgc2kgd3d3X2xpa2VzIHZhbG9hcmUgbWVkaWUsIG1lZGlhbmEsIGFiYXRlcmVhIG1lZGllIHBhdHJhdGljYSwgc3VtYSBzaSBudW1hcnVsIGRlIG9ic2VydmF0aWkuDQoNCiAgMy4gUmVwcmV6ZW50YXRpIG1lZGlpbGUgY2Vsb3IgMyB2YXJpYWJpbGUgY2Egc2kgbGluaWkgcG9saWdvbmFsZS4gDQoNCiAgNC4gUmVwcmV6ZW50YXRpIG1lZGlhbmVsZSBjZWxvciAzIHZhcmlhYmlsZSBjYSBzaSBsaW5paSBwb2xpZ29uYWxlLiANCg0KNS4gR3J1cGF0aSBkYXRlbGUgZGluIHBmIGluIGZ1bmN0aWUgZGUgdGVudXJlLiANCg0KICA2LiBQZW50cnUgZmllY2FyZSB2YWxvYXJlIGEgdGVudXJlIGNhbGN1bGF0aSBwZW50cnUgdmFyaWFiaWxlbGUgbGlrZXMsIG1vYmlsZV9saWtlcyBzaSB3d3dfbGlrZXMgdmFsb2FyZSBtZWRpZSwgbWVkaWFuYSwgYWJhdGVyZWEgbWVkaWUgcGF0cmF0aWNhLCBzdW1hIHNpIG51bWFydWwgZGUgb2JzZXJ2YXRpaS4NCg0KICAzLiBSZXByZXplbnRhdGkgbWVkaWlsZSBjZWxvciAzIHZhcmlhYmlsZSBjYSBzaSBsaW5paSBwb2xpZ29uYWxlLiANCg0KICA0LiBSZXByZXplbnRhdGkgbWVkaWFuZWxlIGNlbG9yIDMgdmFyaWFiaWxlIGNhIHNpIGxpbmlpIHBvbGlnb25hbGUuIA0KDQoNCg0K