Introducción a R anova http://cran.es.r-project.org/ http://www.r-project.org/ --------------------------------------------------------------------------- datos directamente dat<-c(2,3,4,5,6,2.1,9) ----------------------------------------------------------------- estadística ratios para datos dat dat sum(dat) mean(dat) min(dat) max(dat) table(dat) mas<-c("no","si","no","si") mas table(mas) pie(dat) hist(dat) hist(table(mas)) boxplot(dat) boxplot(al,horizontal=TRUE, col="yellow") plot(dat, type="o", col="red") ------------------------------------------------------ recoger datos de un csv si separador es ; data es el nombre de los datos header=T es que la primera fila es nombre de var data<-read.csv("c:/misducumentos/avo.csv",header=T, sep=";") o donde estén comprobar separador data<-read.csv("c:/docencia/actuaris/erre/avo.csv",header=T, sep=";") data<-read.csv("c:/docencia y mas/docencia/1516/actuariales/erre/amv.csv",header=T, sep=";", dec=",") ojo Datos22 <- read.table("http://www.uv.es/lejarza/actu/datos/amv.csv", header=TRUE, sep=";",na.strings="NA", dec=",", strip.white=TRUE) --------------------------------------------------------------------------- recoger datos copiando de excel. data2<-read.table("clipboard",header=T) -------------------------------------------------------------------------------- para archivos txt.. procedentes de xls... mejor copiar y pegar en editor txt data<-read.table("c:/docencia/actuaris/erre/avo.txt",header=T, sep="", ) --------------------------------------------------------------------- preparar datos para utilizar los nombres de variables attach(nombredatos) --------------------------------------------------------------- en excel :no es necesario modificar la coma por el punto en excel. Se puede hacer read.delim("c:/borra/1.xls",“clipboard”, header=T, dec=”,”,check.names=T) para que los datos aparezcan con las variables tal cual las tenemos en excel y para que los puntos aparezcan como separador decimal ------------------------- Una alternativa es utilizar el paquete XLConnect. Está concebido para manipular ficheros excel desde R, con multitud de opciones. Pero también es posible utilizarlo para leer los datos de un fichero y guardarlos en un dataframe para utilizarlos en un solo paso en R. El comando: data2<-readWorksheetFromFile("example1.xlsx",sheet=1) ----------------------------------------------------- ks.test(data$al,pnorm,212.24,7.85361) ----------------------------------------------- con R comander recodificar variable dia data$Factor <-recode(data$dia, '1="lunes"; 2="martes"; 3="miercoles"; 4="jueves"; 5="viernes";', as.factor.result=TRUE) fix(data) data$fnivel <- factor(data$nivel, labels=c('cerca','medio','lejos')) --------------------------------------------------------- boxplot(al~dia, ylab="valores de al", xlab="dia",col="red" ,data=data) boxplot(pob14~nivel, ylab="valores de población", xlab="nivel",col="red" ,data=data) feo datasin <- subset(data, subset=pob14<700000) ---------------------------------------------------------- con R comander... ordenar dia de la semana Datos$variable <- factor(Datos$variable, levels=c('lunes','martes', 'miercoles','jueves','viernes'), ordered=TRUE) variable nueva hacinamiento data$haci <- with(data, pob14/suelo) caja? tipificamos? .Z <- scale(data[,c("haci")]) data$Z.haci <- .Z boxplot(Z.haci~nivel, ylab="valores de población", xlab="nivel",col="red" ,data=data) ahora --------------------------------- estimar densidad densityPlot( ~ rentapps, data=data, bw="SJ", adjust=1, kernel="gaussian") sectores pie(table(data$fnivel), labels=levels(data$fnivel), xlab="niveles", ylab="municipios", main="sectores", col=rainbow_hcl(length(levels(data$fnivel)))) dispersion stripchart(rentapps ~ fnivel, vertical=TRUE, method="stack", ylab="rentapps", data=data) ojo data scatterplot(rentapps~consuend, reg.line=lm, smooth=TRUE, spread=TRUE, id.method='mahal', id.n = 2, boxplots='xy', span=0.5, data=datasin) tablas tapply(datasin$pob14, list(muni=datasin$muni), mean, na.rm=TRUE) correlaciones cor(datasin[,c("rentapps","suelo")], use="complete") RegModel.1 <- lm(rentapps~consuend, data=datasin) summary(RegModel.1) scatterplotMatrix(~consuend+consueni+rentapps, reg.line=lm, smooth=TRUE, spread=FALSE, span=0.5, id.n=0, diagonal = 'density', data=datasin) guardar data sin valencia save("datasin", file="C:/Users/jlejarza/Videos/Documents/datasin.RData") -------------------------------------------------------------- bartlett.test(al ~ dia, data=data) ------------------------------------ con R-comander tapply(data$al, data$dia, var, na.rm=TRUE) leveneTest(data$al, data$dia, center=mean) ---------------------------------------------- barplot(table(data$dia), xlab="Día",col="red", ylab="Frecuencia") --------------------------------------------- anova con g.l. mal pues no considera dia como factor anova <- aov(al ~ dia) summary(anova) ------------------------------------ anova correcto anova <- aov(al ~ factor(dia)) summary(anova) ---------------------------- anova como modelo lineal anova2<- anova(lm(al~factor(dia))) ------------------------------------- TukeyHSD(anova) plot(TukeyHSD(anova)) ------------------ anova con datos sin lunes anovap <- aov(datap$al ~ factor(datap$dia) ) summary(anovap) --------------------------------------------- otra forma AnovaModel.1 <- aov(al ~ dia, data=datap) ---------------------------------------------------- con R comander numSummary(datap$al , groups=datap$dia, statistics=c("mean", "sd")) ------------------------- color.pelo<-c("negro","rubio","negro","rojo","oscuro","oscuro","rubio","negro") > color.ojos<-c("negro","azul","marron","azul","negro","negro","azul","marron") > table(color.pelo,color.ojos) azul marron negro negro 0 2 1 oscuro 0 0 2 rojo 1 0 0 rubio 2 0 0 pie(data$dia, clockwise=TRUE, main="Número de empleados por rama. 4ºTrimestre 1970", col=c(2,3,4,5,6,7)) z <- c(15, 25, 36, 40) > z.nombres <- c("ni~nos", "jovenes", "maduros", "ancianos") Con la instruccion pie() generamos el diagrama de sectores. > pie(z, labels = z.nombres)