

















































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
Apuntes de los tutoriales de R para exámenes de análisis de Datos
Tipo: Apuntes
1 / 57
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!


















































Anàlisi de Dades TUTORIALS
Dades Agrupades
o sqrt(emm(nom,order=2)-mean(noml)^2)
o cj <- c(0^4 ,k,k,k,k,k ... k,)
o nj <- c(k,k,k,k,k,k ... k) o Com es pot comprovar: Cj = classes i Nj = freqüències
punts anteriors: (^1) nj és la freqüència absoluta del document de la taula de freqüències, si es vol sumar una altra columna es posa el nom de la columna corresponent. (^2) Mínim, Q1, Mediana, Q3 i màxim. (^3) Afegim l'argument «range=0» perquè els bigotis arribin al màxim i mínim. Pot ser qualsevol nombre k. (^4) S’han d’entrar els límits inferiors i superiors, per això es marca els 0.
Anàlisi de Dades TUTORIALS
o X <- grouped.data(Group = cj, Frequency =nj) o A partir de la taula es calculen els resum i altres dades desitjades Transformacions de Dades
Transformacions lineals
o Nova variable<- (antiga variable-a)/b o Considerant la forma del canvi d’origen:
on y = nova variable x = antiga variable
o Nom del marc nou <- data.frame(nova variable)
o Nomdelconjunt$nomdevariable<- round(nomdelconjunt$nomdevariable,k) o On k és el nombre de posicions decimals que volem arrodonir. Si k= arrodonim a 0,00.
Anàlisi de Dades TUTORIALS
file.info("mytest.R")$mode --- per capturar elements específics.
o file.path(“nom de carpeta1”,”nom de carpeta2” ... “nom de carpeta n”
un subdirectori anomenat «testdir3», fent-lo en una única ordre usant dir.create() i file.path(): o dir.create(file.path("testdir2","testdir3"),recursive = TRUE ) Percentils i quantils:
o Abline(h/v/d= num, col=red H= horitzontal V= vertical D= diagonal?
Anàlisi de Dades TUTORIALS
o Hist(nom,prob=TRUE)
o curve(dnorm(x,mean=m,sd=s),add=TRUE).
o sum(punts<m-3*s)/length(punts) o Això ens està dient que per a l'interval «m - 3*s» hi ha una freqüència relativa observada de 0%.
o sum(punts > m & punts < m + s) / length(punts) o Estàs dient, dona’m la freqüència dels punts més grans que m i (&) els punts més petits que m+s simultàniament. o Comparant la freqüència esperada de l'interval (m, m+s) que és igual a 0.34134 amb la freqüència relativa observada igual a 0.2941176, veiem que no estem massa lluny de la normal un altre cop.
o sum( punts >m-2*s & punts< m-s) / length(punts)
valor estandaritzat: o pnorm(2, lower.tail=FALSE)
exemple per comprovar el percentatge de casos a l'esquerra de z = 0, podeu entrar pnorm(0,lower.tail=TRUE). (^6) A stata, el coeficient de Kurtosis de la distribución normal és 3 i no 0
Anàlisi de Dades TUTORIALS
On y correspon al nom de la variable dependent i x al de la independent Coefficient: ordenada a l’origen Parcial: pendent o S’ha d’assignar lm a un nom (nom <- lm (Y~X)) introduir el nom després
o abline(fit)
o predict(nom de la recta,data.frame(nom de x=70)) o P.ex: predict (fit,data.frame(parcial=70))
o Summary(nom de la recta de regressió) o Entre altres coses dóna el valor per al coeficient de determinació (R^2) (també anomenat R-quadrat, Multiple R-squared en anglès)
o Nom nou <- resid(nom de la recta de regressió)
vertical amb «ylab» i un títol al diagrama amb «main». L'ordre és
de residus").
positius i negatius, i perquè l'anàlisi dels residus sigui apropiat, els residus
Anàlisi de Dades TUTORIALS
haurien d'estar distribuïts a sobre i a sota de la línia de regressió sense cap patró específic. Dibuixarem doncs una línia horitzontal amb abline(0,0)
o hist(nom del diagrama de residus)
o Identify (Y~X) o 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 o Una altra eina útil és obtenir un diagrama de dispersió amb etiquetes mostrant el número de cas. Per fer això, primer obtenim el diagrama de dispersió amb amb cercles en color blau clar, de manera que podem imprimir després el número de cas a sobre, amb plot(nom de y~nom de xl, col="lightblue"). o Imprimim les etiquetes amb el número de cas amb text(nom de y~ nom de x, labels=rownames(nom del conjunt)). P .ex: text (final~parcial, labels=rownames(exam)) On: Final es el nom de y Parcial es el nom de x Exam es el nom del conjunt on estan agrupats x i y
o Nom del conjunt [-c(2,18),]
Anàlisi de Dades TUTORIALS
Mètode log-log
calcula la regressió entre les variables transformades. Primer cal transformar les variables i assignar-les-hi un nom: o Lx <- log(x) o Ly <- log (y) o On x i y són els noms de la variable independent i dependent en el conjunt de dades. o S’estableix altre cop el diagrama de dispersió amb les variables transformades amb plot(Ly ~ Lx ) i s’observa el resultat possiblement la regressió surti ara lineal amb el qual, si es traça una recta amb la funció abline(lm(Ly ~Lx) es veurà millor. o Podem calcular ara la línia de regressió i realitzar una predicció per a un valor de publicitat igual a 4.5. Primer obtenim els coeficients de la regressió per a les variables transformades amb lm(ly~lx). o Podem predir ara per a una publicitat (x) igual a 4.5, però recordeu que la regressió s'ha executat amb les variables transformades, de manera que hem d'usar log(4.5). L'ordre és aleshores: predict(lm(ly~lx),data.frame(lx=log(4.5))). [= 2.91418] o El valor que heu obtingut, 2.921418, és en realitat log(vendes (y)) i no simplement vendes (y). Per recuperar el valor de vendes (y), heu d'aplicar la funció exponencial (atès que exp(log(x)) = x). Ho podeu fer entrant exp(2.921418). o Podríeu haver fer això en un únic pas amb: exp(predict(lm(lvendes~lpub),data.frame(lpub=log(4.5)))) o però és una ordre realment llarga. Amb el procediment que hem presentat és possible ajustar altres transformacions, com ara el model semi-log, que sols transforma la variable dependent.
Anàlisi de Dades TUTORIALS
Seqüències de números:
o Utilitzar l’operador “:” P.Ex: 1:20 = 1,2,3,4,5,6,7,8,9,10... 15:1= 15,14,13,12,11,10... Per saber més sobre la funció: ?:
o Si volem una certa longitud seq(x,y, length=K) o Si volem una cera longitud d’intervals seq(x,y,by=K)
una seqüència d'enters de 1 a N, on N representa la longitud del vector my_seq. En altres paraules, volem un nou vector (1, 2, 3, ...) que és de la mateixa longitud que my_seq. Podem fer: o 1:length(my_seq) o O o seq(along.with = seq(x,y,length=K)) o Normalment hem posat un nom a seq(x,y,length=K), per tant la funció queda: o seq(along.with = my_seq) per exemple o També es pot fer seq_along(my_seq) On my_seq és una seqüencia de nombres seq(x,y,length=K)
Anàlisi de Dades TUTORIALS
o “ !A ” (no A) negació de A
o nom<- c(“El”, “meu”, “nom”, “és”) o Dóna un vector de 4 caràcters.
o Paste (c(“El,”meu”,”nom”,”és”, collapse= “ “) Sobre tot deixar un espai entre les últimes cometes. Si en comptes de collapse posem sep= “” o “ “ o “-“ diem que el vector resultant separi en espais els dos vectors multiplicats o no o que ho faci amb un guió.
o c (nom del vector/vector/caracters, “nom del vector/vector/caracters”)
o rnorm(1000)
Anàlisi de Dades TUTORIALS
o rep(NA, 1000)
z) de manera que no sapiguem quants NA tindrem al final o o quina posició ocuparan en el nostre vector final: o my data <- sample (c(y,z),100)
funció is.na() ens diu si cada element d'un vector és NA. Crideu is.na() amb my_data i assigneu el resultat a my_na: o my_na<- is.na(my_data) o Seguidament, imprimir my_na per veure el resultat obtingut, on hi hagi TRUE l’element corresponent de my_data és NA. On hi hagi FALSE l’element corresponent de my_data és un dels valors de la normal estàndard extret de forma aleatòria anteriorment. o També es pot fer : my_data == NA La raó per la qual s’obté un vector de tots NA és que NA no és realment un valor, sinó simplement un indicador de lloc d'un valor que no està disponible. Consegüentment, l'expressió lògica està incompleta i R no té cap altra opció que retornar un vector de la mateixa longitud que my_data que conté tots NA.
número 0. En conseqüència, si calculem la suma d'un conjunt de TRUE i FALSE, obtindrem el nombre total de TRUE.
Anàlisi de Dades TUTORIALS
is.na(x) es pot llegir com «no és NA». Conseqüentment, si volem crear un vector anomenat y que conté tots els valors no-NA de x, podem usar o y<- x[!is.na(x)].
la mateixa longitud que y, amb TRUE corresponent a valors de y que són més grans que zero i FALSE corresponen a valors de y que són més petits i iguals a zero. o y[y>0] o Donarà un vector de tots els elements positius de y que són alhora tots els elements positius del vector original x.
grans que zero_._ o x[!is.na(x) & x > 0] Dóna el mateix que y[ y > 0]
basada en zero», cosa que significa que el primer element d'un vector es considera l'element 0. L'R usa «indexació basat en 1», cosa que (com heu endevinat) vol dir que el primer element d'un vector es considera que és l'element 1.
o x[c(3,5,7)]
Anàlisi de Dades TUTORIALS
o Sempre us hauríeu d'assegurar de que el que demaneu està dins del rang d'elements del vector amb el qual esteu treballant.
10)] ens dóna tots els elements de x EXCEPTE el segon i el desè. Es poden aplicar conceptes semblants per vectors de noms
o Table(nom de la taula cas per cas) o Table(dist)
o Barplot(nom de la taula de contingència, legend=TRUE)
o t(nom de la taula) o t(“dist”) o Per defecte el R fa els diagrames de barra amb la variable columna a l'eix horitzontal, i de forma apilada.
Anàlisi de Dades TUTORIALS
o Dist és el nom o 1 per files 2 per columnes
o Fem servir un altre cop la funció prop.table() amb dos arguments. El primer és la taula i el segon és un incidador de la variable per la qual volem condicionar. Per exemple, per condicionar per la variable fila hem d'entrar 1. Entreu ara l'ordre apropiada per obtenir les freqüències relatives de la distribució de «transport» condicionada a «comarca». o Prop.table(dist,1) o 1 per condicionar per files o 2 per condicionar per columnes
diem que les variables categòriques estan relacionades.
iguals o diferents és mitjançant una gràfica de barres. Posant tot a la mateixa escala és fàcil jutjar si hi ha diferències en les proporcions de les categories de la variable que volem analitzar. Per exemple per representar el diagrama de barres de la variable fila («comarca») condicionada a la variable columna («transport») podem donar l'ordre o barplot(prop.table(dist,2),legend=TRUE). o 1 per columnes o 2 per files
Anàlisi de Dades TUTORIALS
condicionada a la variable fila. o barplot(t(prop.table(dist,1)),legend=TRUE) o Dist és el nom de la taula de contingència Entrar dades des d’una taula de contingència:
o freq <- c(4,2,0,1,5,1,0,1,6)
anterior
que les dades les hem entrades per files (byrow=TRUE), a més li hem de dir que el tipus és «table». o lamevataula<-as.table(matrix(freq,ncol=3,byrow=TRUE))
o usem les funcions colnames() i rownames(). Per exemple per entrar el nom de les categories de la variable columna entrem o colnames(lamevataula) <- c("Barcelona","Madrid","Sevilla"). o rownames(lamevataula) <- c("Barça","Real Madrid","Sevilla") o Ja tenim la taula creada. Ara podem fer l'anàlisi de la relació entre les dues variables categòriques com vam fer amb l'exemple anterior. Per exemple obteniu el diagrama de barres de la distribució condicional de la preferència d'equip de futbol condicionada a la ciutat de residència, mitjançant l'ordre.