Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Tutorial r studio analisis de dades, Ejercicios de Análisis de Datos y Métodos Estadísticos

tutorial r studio introducción

Tipo: Ejercicios

2018/2019

Subido el 22/04/2019

gammi98
gammi98 🇪🇸

4 documentos

1 / 12

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
TUTORIAL 1
| En aquest tutorial presentarem les principals tècniques per a l'anàlisi de dues variables
| numèriques amb el R. Treballarem amb un conjunt de dades que ja us hem carregat. És un conjunt de
| dades sobre els resultats de 21 estudiants a un examen parcial i un examen final. Té tres
| variables. 1) el número d'observació, 2) la nota del parcial, i 3) la nota del final. El marc de
| dades es diu «exam».
| Useu ara la funció head() per comprovar els primers casos, així com el nom de les variables
| incloses al marc de dades.
> head(exam)
obs parcial final
1 1 55 55
2 2 66 79
3 3 50 67
4 4 49 59
5 5 55 48
6 6 60 63
| En aquest cas, què penseu que és més raonable?
1: el parcial és la variable dependent, i el final és la variable explicativa
2: el final és la variable dependent, i el parcial és la variable explicativa
Selection: 2
| Atès que treballarem per una estona amb les variables d'aquest conjunt de dades, és convenient
| assignar-les a variables de l'espai de treball actual al R, de manera de no haver de referir a
| elles tota l'estona usant el nom del marc de dades. Així, començarem assignant la variable final
| amb «final <- exam$final». Entreu ara aquesta ordre.
> final <- exam$final
| Assigneu ara la variable parcial al marc de dades exam, a una variable que també es digui parcial
| a l'espai de treball actual, de manera semblant a com ho heu fet amb la variable final.
> parcial <- exam$parcial
| Abans d'intentar entendre la relació entre les variables, hem d'entendre la distribució de cada
| variable per separat. Per fer això, tenim les eines habituals al R, però si volguéssim realitzar
| una anàlisi exhaustiva hauríem d'usar totes les eines que hem après per fer això. Però anem a
| provar d'entendre els patrons principals de les distribucions de les notes de l'examen parcial i
| final.
| Useu la funció boxplot() per obtenir un panorama de la distribució de la variable parcial.
| Recordeu que podeu usar «parcial» directament, sense haver de referir al marc de dades, atès que
| tenim ara una variable a l'espai de treball actual del R que es diu «parcial».
> boxplot(parcial)
| D'acord amb el que observeu a la distribució de la variable parcial usant el diagrama de caixa,
| podem dir que la distribució
1: és simètrica i no té valors atípics
2: és asimètrica cap a la dreta i té un valor atípic
3: és asimètrica cap a l'esquerra i té un valor atípic
Selection: 1
| Not quite right, but keep trying.
| Comproveu cap a quin costat s'estén el diagrama de caixa, i si hi ha casos marcats amb un cercle
| petit.
pf3
pf4
pf5
pf8
pf9
pfa

Vista previa parcial del texto

¡Descarga Tutorial r studio analisis de dades y más Ejercicios en PDF de Análisis de Datos y Métodos Estadísticos solo en Docsity!

TUTORIAL 1

| En aquest tutorial presentarem les principals tècniques per a l'anàlisi de dues variables | numèriques amb el R. Treballarem amb un conjunt de dades que ja us hem carregat. És un conjunt de | dades sobre els resultats de 21 estudiants a un examen parcial i un examen final. Té tres | variables. 1) el número d'observació, 2) la nota del parcial, i 3) la nota del final. El marc de | dades es diu «exam».

| Useu ara la funció head() per comprovar els primers casos, així com el nom de les variables | incloses al marc de dades.

head(exam) obs parcial final 1 1 55 55 2 2 66 79 3 3 50 67 4 4 49 59 5 5 55 48 6 6 60 63

| En aquest cas, què penseu que és més raonable?

1: el parcial és la variable dependent, i el final és la variable explicativa 2: el final és la variable dependent, i el parcial és la variable explicativa

Selection: 2

| Atès que treballarem per una estona amb les variables d'aquest conjunt de dades, és convenient | assignar-les a variables de l'espai de treball actual al R, de manera de no haver de referir a | elles tota l'estona usant el nom del marc de dades. Així, començarem assignant la variable final | amb «final <- exam$final». Entreu ara aquesta ordre.

final <- exam$final

| Assigneu ara la variable parcial al marc de dades exam, a una variable que també es digui parcial | a l'espai de treball actual, de manera semblant a com ho heu fet amb la variable final.

parcial <- exam$parcial

| Abans d'intentar entendre la relació entre les variables, hem d'entendre la distribució de cada | variable per separat. Per fer això, tenim les eines habituals al R, però si volguéssim realitzar | una anàlisi exhaustiva hauríem d'usar totes les eines que hem après per fer això. Però anem a | provar d'entendre els patrons principals de les distribucions de les notes de l'examen parcial i | final.

| Useu la funció boxplot() per obtenir un panorama de la distribució de la variable parcial. | Recordeu que podeu usar «parcial» directament, sense haver de referir al marc de dades, atès que | tenim ara una variable a l'espai de treball actual del R que es diu «parcial».

boxplot(parcial)

| D'acord amb el que observeu a la distribució de la variable parcial usant el diagrama de caixa, | podem dir que la distribució

1: és simètrica i no té valors atípics 2: és asimètrica cap a la dreta i té un valor atípic 3: és asimètrica cap a l'esquerra i té un valor atípic

Selection: 1

| Not quite right, but keep trying.

| Comproveu cap a quin costat s'estén el diagrama de caixa, i si hi ha casos marcats amb un cercle | petit.

1: és asimètrica cap a la dreta i té un valor atípic 2: és simètrica i no té valors atípics 3: és asimètrica cap a l'esquerra i té un valor atípic

Selection: 2

| Not quite! Try again.

| Comproveu cap a quin costat s'estén el diagrama de caixa, i si hi ha casos marcats amb un cercle | petit.

1: és asimètrica cap a la dreta i té un valor atípic 2: és simètrica i no té valors atípics 3: és asimètrica cap a l'esquerra i té un valor atípic

Selection: 3

| That's not exactly what I'm looking for. Try again.

| Comproveu cap a quin costat s'estén el diagrama de caixa, i si hi ha casos marcats amb un cercle | petit.

1: és simètrica i no té valors atípics 2: és asimètrica cap a l'esquerra i té un valor atípic 3: és asimètrica cap a la dreta i té un valor atípic

Selection: 3

| You are amazing!

| Comproveu ara la distribució de la variable final, un altre cop usant el diagrama de caixa i | usant la variable «final» a l'espai de treball actual

boxplot(final)

| You're the best!

| Del que podeu veure al diagrama de caixa per a la variable final, podeu dir que

1: la distribució per a la nota del final és asimètrica cap a la dreta i no té valors atípics 2: la distribució per a la nota del final és més simètrica i també té un valor atípic

Selection: 2

| That's the answer I was looking for.

| Hauríeu de realitzar sempre un anàlisi detallat per a cada variable per separat abans d'iniciar | l'anàlisi de les relacions entre les variables.

| Un cop que enteneu aquestes distribucions separades, podeu començar a analitzar les possible | relacions entre elles. La primera comprovació per a la relació entre dues variables numèriques és | comprovar el diagrama de dispersió entre elles. Per obtenir un diagrama de dispersió entre la | variable Y a l'eix vertical, i la variable X a l'eix horitzontal, l'ordre apropiada és | «plot(Y~X)». Proveu-la.

| Not exactly. Give it another go. Or, type info() for more options.

| Heu d'entrar «fit <- lm(final~parcial)» per calcular la línia de regressió i desar els resultats | a un objecte anomenat fit.

fit <- lm(final~parcial)

| You're the best!

| Per comprovar els valors de la constant i el pendent, simplement heu d'entrar ara el nom de | l'objecte que acabeu de crear. Feu-ho ara.

fit

Call: lm(formula = final ~ parcial)

Coefficients: (Intercept) parcial -4.953 1.

| Excellent job!

| El pendent ens mostra

1: que per cada punt que un estudiant obté al final, es prediu que obtindrà 1.12 punts al parcial 2: que per cada punt que un estudiant obté al parcial, es prediu que obtindrà 1.12 punts al final

Selection: 2

| You are quite good my friend!

| Ens agradaria dibuixar la línia de regressió al diagrama de dispersió. Per fer això, dibuixeu un | altre cop el diagrama de dispersió amb l'ordre «plot(Y~X)».

plot(final~parcial)

| Excellent job!

| I ara, per obtenir la línia de regressió al diagrama de dispersió, usem l'ordre «abline(fit)». | Proveu-la ara.

abline(fit)

| Excellent work!

| Un dels objectius principals de l'anàlisi de regressió és predir el valor de la variable | dependent donats valors de la variable explicativa. Quina és la predicció de la nota a l'examen | final per a un estudiant que va obtindre un 70 al parcial? Podem calcular la predicció | directament usant la constant estimada (-4.953) i el pendent (1.127). Entreu la fórmula apropiada | per calcular aquesta predicció.

[1] 73.

| That's correct!

| També podeu predir usant la funció predict() del R. Per això heu d'entrar els valors de la | variable explicativa a un vector. Per exemple per predir per al mateix cas que abans, l'ordre és | «predict(fit,data.frame(parcial=70))». Proveu-la ara.

predict(fit,data.frame(parcial=70)) 1

| You are really on a roll!

| Podem obtenir un conjunt de resultats més complet amb la funció summary() del R. Recordeu que hem | desat el resultat de la regressió a un objecte anomenat «fit». Useu ara aquest objecte com a | argument de la funció summary() perquè el R us mostri més resultats de la regressió.

summary(fit)

Call: lm(formula = final ~ parcial)

Residuals: Min 1Q Median 3Q Max -30.285 -4.523 -1.396 8.731 15.

Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -4.9534 17.0381 -0.291 0. parcial 1.1270 0.3102 3.633 0.00177 **


Signif. codes: 0 ‘’ 0.001 ‘’ 0.01 ‘’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 11.02 on 19 degrees of freedom Multiple R-squared: 0.41, Adjusted R-squared: 0. F-statistic: 13.2 on 1 and 19 DF, p-value: 0.

| Great job!

| Als resultats mostrats pel R podeu veure un altre cop els coeficients de la regressió sota | «Estimate». També podeu obtenir el valor per al coeficient de determinació (també anomenat | R-quadrat, R-squared en anglès), que és igual a 0.41, i algunes estadístics per als residus de la | regressió.

| El valor del coeficient de determinació (R-squared) ens està dient que

1: el final explica 41% de la variació de les notes del final 2: la nota del parcial explica 41% de la variació de les notes del final

Selection: 1

| Keep trying!

| El R-quadrat (R-squared) us diu el percentatge de la variació de la nota del final que podeu | explicar amb la variació de la nota del parcial.

| una diferència gran respecte a la mitjana de la variable explicativa. Recordeu que havíem | identificat 3 valors atípics al principi d'aquesta lliçó. Us hem tornat a fer el diagrama de | dispersió amb els tres valors atípics marcats.

| Per analitzar els valors influents els hem d'identificar esbrinant el seu número d'observació, | els hem d'eliminar, i hem de veure si el pendent canvia o no. Una funció útil per identificar | valors atípics és la funció identify() del R. Entrant identify(Y~X) obteniu un diagrama de | dispersió entre Y i X. Podeu clicar sobre els diferents casos que voleu identificar, i un cop que | premeu «Esc» (la tecla escape), el R us mostrarà el número de cas (número d'observació) dels | casos en la mateixa gràfica, és a dir la fila al marc de dades on podeu trobar aquests casos. | Prement Esc un altre cop el R imprimirà els números dels casos i us retornarà a tutorial. Entreu | ara la funció identify() amb la nostra variable dependent i explicativa, i cliqueu després sobre | els tres valors atípics. No us oblideu de clicar Esc dos cops a continuació per retornar al | tutorial i perquè el R us mostri els casos.

identify(final~parcial) aviso: punto más próximo ya identificado [1] 4 7

| Excellent work!

| Com podeu veure. el R ha identificat aquests casos com els cassos 2, 18 i 19. El cas 19 no és un | cas que és atípic amb respecte a la mitjana de la variable explicativa (està a prop de línia | vertical), així que no té el potencial de ser influent. Eliminem doncs els casos 2 i 18, que | tenen una diferència gran respecte a la mitjana del parcial, i mirem si canvien els resultats.

| Per eliminar aquests casos, ho podem fer entrant l'ordre exam[-c(2,18),] i assignant el resultat | a un nou marc de dades anomenat exam_nou. Això i diu al R que no tingui en compte els casos 2 i | 18 (per això tenim el signe menys davant el primer argument), però deixar les columnes | (variables) sense tocar (per això tenim la coma i res després de la coma). Proveu doncs «exam_nou | <- exam[-c(2,18),]» per eliminar els casos 2 i 18 i obtenir un nou marc de dades anomenat | exam_nou sense aquests casos.

exam[-c(2,18)] obs final 1 1 55 2 2 79 3 3 67 4 4 59 5 5 48 6 6 63 7 7 57 8 8 50 9 9 46 10 10 56 11 11 37 12 12 54 13 13 67 14 14 66 15 15 48 16 16 50 17 17 45 18 18 93 19 19 29 20 20 64 21 21 50

| Not quite, but you're learning! Try again. Or, type info() for more options.

| Heu d'entrar "exam_nou <- exam[-c(2,18),]" per eliminar els casos 2 i 18.

exam_nou <- exam[-c(2,18)]

| Not quite! Try again. Or, type info() for more options.

| Heu d'entrar "exam_nou <- exam[-c(2,18),]" per eliminar els casos 2 i 18.

exam_nou <- exam[-c(2,18),]

| Keep working like that and you'll get there!

| Ara podeu obtenir els resultats de la regressió un altre cop i veure si els resultats han canviat | significativament. Feu-lo amb l'ordre lm(final~parcial, data=exam_nou), noteu que heu | d'especificar el nou marc de dades, sinó el R continuaria usant encara les variables originals | amb els casos 2 i 18.

lm(final~parcial, data=exam_nou)

Call: lm(formula = final ~ parcial, data = exam_nou)

Coefficients: (Intercept) parcial 48.65543 0.

| You are doing so well!

| Com podeu veure, ara el pendent de la regressió s'ha reduït a 0.087. Era 1.127 abans, així que és | un 13% més petit. Podem dir que aquests casos són influent, sense els, l'efecte de la nota del | parcial sobre la nota del final és més reduït.

| A vegades la dispersió de les dades és tan gran que no podem esbrinar cap relació lineal entre | les variables. Hi ha algunes tècniques basades en la «suavització» de la variació de la variable | dependent, i que intenten inferir la relació entre les dues variables un cop aquesta dispersió ha | estat eliminada. Una d'aquestes tècniques s'anomena la traça mitjana o mediana, depenent de quina | sigui la mesura de centre utilitzada per suavitzar la variació de la variable dependent. El R té | un conjunt d'eines que usen tècniques de suavització, que poden ser útils quan hi ha molta | variació en la variable dependent però encara creiem que hauria d'haver-hi una relació entre les | variables.

| Us hem carregat un conjunt de dades, amb dues variables, Y és el temps en minuts que porta | realitzar una tasca per part de diversos equips a una empresa, i X és el nombre de membres de | cada equip. Doneu una ullada al marc de dades usant la funció head(), el marc de dades s'anomena | «tasca».

head(tasca) X Y 1 2 10 2 3 8 3 4 6 4 2 5 5 5 8 6 6 6

| El nombre de membres òptim a l'equip (el que minimitza el temps de realitzar la tasca) és | aproximadament

Selection: 1

| Keep trying!

| Comproveu per a què valors de X el valor d Y és mínim, d'acord amb la traça.

Selection: 3

| You are quite good my friend!

| L'anàlisi de regressió lineal, com mostra el seu nom, és apropiat per a la descripció de la | relació lineal entre dues variables. En altres paraules, quan a un diagrama de dispersió veiem | que la relació s'ajusta bé a una relació lineal, podem aplicar l'anàlisi de regressió lineal, | sempre tenint en compte de definir una variable dependent i una variable explicativa per | descriure aquesta relació. En alguns casos, però, el diagrama de dispersió mostra una relació que | no s'ajusta bé al que suggeriria una línia.

| Us hem carregat un marc de dades anomenat "effadv", que correspon a un conjunt d'empreses per a | les quals hem col·lectat dades sobre despesa en publicitat («pub») i vendes («vendes»). Esperem | que la publicitat tingui un efecte positiu sobre les vendes. Anem a mirar el diagrama de | dispersió, amb plot(vendes~pub). Proveu-ho ara.

plot(vendes~pub)

| Keep working like that and you'll get there!

| EL núvol de punts suggereix una possible relació no lineal entre publicitat i vendes. Però podem | obtenir un panorama millor dibuixant també la recta de regressió al diagrama de dispersió | mitjançant abline(lm(vendes~pub)). Feu-lo ara.

abline(lm(vendes~pub))

| Keep working like that and you'll get there!

| La recta de regressió ens mostra que per a valors petits la línia està sistemàticament a sobre | dels punts reals, per a valors intermedis la línia està a sota, i per a valors alts està un altre | cop a sobre dels punts reals. D'acord amb això, si voleu predir la quantitat de vendes per a una | despesa en publicitat igual a 4.

1: hi haurà una sobrepredicció 2: la predicció serà correcta, hi haurà una predicció per sota del valor real

Selection: 1

| You are doing so well!

| una manera senzilla de treballar amb no linealitats d'aquest tipus és usar el model log-log. Al | model log-log, prenem logaritmes naturals de la variable dependent i la variable explicativa, i | calculem la regressió amb les variables transformades. Anem a convertir primr la variable | dependent amb lvendes <- log(vendes). Feu-ho ara.

lvendes <- log(vendes)

| Excellent work!

| Realitzeu la mateixa transformació logarítmica amb publicitat («pub») i anomeneu la nova variable | «ladv».

ladv <- log(pub)

| Nice try, but that's not exactly what I was hoping for. Try again. Or, type info() for more | options.

| Heu d'entrar «lpub <- log(pub)» per transformar la variable vendes a logaritmes.

lpub <- log(pub)

| You're the best!

| Feu ara un diagrama de dispersió entre lvendes i lpub.

d Error: objeto 'd' no encontrado plot(lvendes~lpub)

| You are doing so well!

| Afegiu ara una línia de regressió al diagrama amb abline(lm(lvendes~lpub)).

abline(lm(lvendes~lpub))

| Excellent work!

| El diagrama de dispersió amb les variables transformades mostra

1: una relació lineal 2: la mateixa relació no lineal que abans

Selection: 1

| Excellent work!