1210 | Laboratorio de Física | Elizabeth Hernández Marín
Histogramas con R (feb2019)
Este código se puede copiar y pegar en la caja de código ya sea en
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")
Redes sociales FQ