






Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
tutorial r studio introducción
Tipo: Ejercicios
1 / 12
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!







| 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ó.
| 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!