Histogramas con R (feb2019)

Este código se puede copiar y pegar en la caja de código ya sea en

https://rdrr.io/snippets/

o en

https://rextester.com/l/r_online_compiler

Antes de pegar, borrar el contenido de la caja de código.

Una vez en la caja de código, sustituir sus valores. Puede cambiar el número de clases y el color del histograma y de la gaussiana.

dataE=c(0.06,1.04,1.21,2.70,2.89,3.07,3.93,4.06,4.15,4.66,4.77,4.86,5.13,5.19,5.19,5.59,5.59,5.66,

  5.91,6.03,6.13,6.60,6.68,6.72,7.26,7.31,7.61,7.86,7.88,7.89,8.28,8.39,8.39,8.69,8.76,9.10,

        9.76,9.76,9.86,11.30,11.43,11.48,1.88,2.06,3.09,3.30,4.19,4.22,4.86,4.87,5.22,5.37,5.68,5.69,

        6.21,6.29,6.78,6.83,7.63,7.64,7.97,7.99,8.51,8.57,9.19,9.24,10.11,10.12,11.99,12.01,2.10,2.14,

        2.27,2.47,2.60,3.31,3.50,3.71,3.78,3.86,4.38,4.40,4.45,4.55,4.57,4.91,4.98,5.05,5.08,5.08,5.40,

        5.43,5.49,5.55,5.57,5.71,5.72,5.75,5.90,5.91,6.29,6.42,6.44,6.50,6.57,6.84,6.85,6.86,7.03,7.11,

        7.67,7.72,7.78,7.83,7.85,8.04,8.10,8.19,8.23,8.23,8.57,8.62,8.62,8.66,8.66,9.28,9.35,9.50,9.60,

        9.69,10.58,10.65,10.83,11.13,11.21,12.44,13.59)

a=round(1+3.3*log(length(dataE),base=10))

cat ("Num de clases de acuerdo a Sturges:",a,"\n")

cat ("Tamanio de la muestra:",length(dataE),"\n")

cat ("media:",mean(dataE),"\n")

cat ("desv. estandar:",sd(dataE),"\n")

cat ("mediana:",median(dataE),"\n")

#para encontrar la moda

temp <- table(as.vector(dataE))

moda=names(temp)[temp == max(temp)]

print("moda")

print(moda)

n =8

titulo <- "Titulo del histograma"

titx <- "m (g) "

n=n+1

limclase=seq(min(dataE),max(dataE),length=n)

hdatos=hist(dataE,breaks=limclase,plot=FALSE)

interv=hdatos$mids[2]-hdatos$mids[1]

ejex=c(hdatos$breaks[1]-interv, hdatos$breaks, max(hdatos$breaks)+interv)

ejelimx=c(mean(dataE)-5*sd(dataE),mean(dataE)+5*sd(dataE))

ejelimy=c(0,max(hdatos$counts)+3)

histo<-hist(dataE,main=titulo,ylab="Frecuencia", xlab=titx,

labels=TRUE,breaks=limclase, xlim=ejelimx, xaxt="n", ylim=ejelimy, col="gray")

axis(side=1, at=ejex)

g <- function(x) (max(histo$counts))*exp(-0.5*((x-mean(dataE))/sd(dataE))^2)

x <- seq(mean(dataE)-3.5*sd(dataE), mean(dataE)+3.5*sd(dataE), length.out=100)

lines(x, g(x), type="l", lwd=3,col="black")

 

Última modificación: miércoles, 20 de febrero de 2019, 02:36