Ejemplos

  • Ejemplo de simulación del número de hijos varones de n familias de 3 descendientes.
n<-10000
sample(0:1,n*3,replace=T)->hijos
hijos<-matrix(hijos,ncol=3)
apply(hijos,1,sum)->nhijosf
table(nhijosf)
plot(table(nhijosf))
round(table(nhijosf)/n,3)
  • Ejemplo de histograma para n valores procedentes de una normal y superposición de la curva de densidad teórica.
n<-300
rnorm(n)->a
hist(a,seq(-4,4,0.5),prob=T)
lines(seq(-4,4,len=100),dnorm(seq(-4,4,len=100)),col=2)
  • Ejemplo de CDF para n valores procedentes de una normal
n<-300
sort(rnorm(n))->a
plot(a,1:n,type="l")
lines(a,pnorm(a)*n,col=2)
  • Simulación de un paseo aleatorio. El llamado paseo del borracho se describe como el avance de un individuo que aleatoriamente efectua pasos adelante y atrás.
p<-1000
sample(c(-1,1),p,replace=T)->pasos
plot(cumsum(pasos),type="l",ylim=c(-100,100))
table(pasos)
  • Simulación de movimiento brauniano: una partícula se desplaza una distancia aleatoria y tomando un rumbo aleatorio.
x<-0
y<-0
for(i in 1:1000){
   alfa<-runif(1,0,2*pi)
   d<-   runif(1)
   y<-y+sin(alfa)*d
   x<-x+cos(alfa)*d
   plot(x,y,pch=16,xlim=c(-10,10),ylim=c(-10,10),asp=1)
   }
  • Simulación de dos variables correlacionadas linealmente y obtención del modelo
n<-30
x<-runif(n)
y<-x+rnorm(n,0,0.1)
mlxy<-lm(y~x)
plot(x,y)
abline(mlxy)
summary(mlxy)
  • Estudio del comportamiento del coeficiente de la variable independiente en un ajuste lineal
n<-30
coefx<-NULL
for(i in 1:1000){
  x<-runif(n)
  y<-x+rnorm(n,0,0.1)
  mlxy<-lm(y~x)
  coefx[i]<-mlxy$coef["x"]
  }
sort(coefx)->a
length(coefx)->n
plot(a,1:n,type="l")
lines(a,pnorm(a,mean(coefx),sd(coefx))*n,col=2)
  • Ejemplo de un anova para valores normales aleatorios con una asignación al azar del factor.
y<-rnorm(15)
x<-factor(rep(1:3,5))
aov(y~x)
summary(aov(y~x))
TukeyHSD(aov(y~x))
plot(TukeyHSD(aov(y~x)))
  • Ejemplo de análisis de un fichero de datos: Los datos coorespondientes a los censos de población activa de los términos municipales de la Región de Murcia se encuentran en el fichero evolpobmun.dat se analiza mediante un análisis de correspondencias. En primer lugar se utiliza la función corresp de la librería MASS y posteriormente se utiliza la función acb del fichero de fuentes funciones.R. Para terminar se realiza una clasificación de años y municipios en función de los resultados obtenidos de la ordenación precedente.
read.table("http://www.um.es/docencia/emc/datos/evolpobmun.dat",encod="latin1")->x
pairs(x)
pairs(log(x))
pairs(~log(x[,1])+log(x[,5])+log(x[,10]))
apply(x,1,function(x) sum(is.na(x))==0)->selmun
library(MASS)
plot(corresp(x[selmun,]))
source("http://www.um.es/docencia/emc/datos/funciones.R")
acb(x[selmun,])
dibujaacb(acb(x[selmun,]),1,2)
plot(hclust(dist(acb(x[selmun,])$cf[,1:4]),method="ward"),hang=-1)
plot(hclust(dist(acb(x[selmun,])$cc[,1:4]),method="ward"),hang=-1)
  • r/r_ejemplosp.txt
  • Última modificación: 2008/05/23 09:59
  • (editor externo)