You are on page 1of 19

Ejercicios de estadsticas

matemticas usando R

Grupo de estudio de Estadstica Matemtica con R


Iniciado en enero 2016

1
1. Estadstica descriptiva

Ejercicio. 1.3. De gran importancia para residentes de la regin central de Florida es la


cantidad de material radiactivo presente en el suelo de zonas recuperadas de la explotacin
minera de fosfatos Construya un histograma de frecuencia relativa para estos datos.
x<-c(.74, 6.47, 1.90, 2.69, .75, .32, 9.99, 1.77, 2.41, 1.96, 1.66, .70, 2.42,
.54, 3.36, 3.59, .37, 1.09, 8.32, 4.06, 4.55, .76, 2.03, 5.70, 12.48)
hist(x, freq = F)

Ejercicio. 1.4. Las 40 acciones principales del mercado secundario (OTC, por sus siglas en
ingls), clasificadas por el porcentaje de acciones en circulacin vendidas en un da el ao
pasado son como sigue:
11.88 6.27 5.49 4.81 4.4 3.78 3.44 3.11 2.88 2.68
7.99 6.07 5.26 4.79 4.05 3.69 3.36 3.03 2.74 2.63
7.15 5.98 5.07 4.55 3.94 3.62 3.26 2.99 2.74 2.62
7.13 5.91 4.94 4.43 3.93 3.48 3.2 2.89 2.69 2.61

a. Construya un histograma de frecuencia relativa para describir estos datos.

x<-c(11.88, 6.27, 5.49, 4.81, 4.4, 3.78, 3.44, 3.11, 2.88, 2.68, 7.99,
6.07, 5.26, 4.79, 4.05, 3.69, 3.36, 3.03, 2.74, 2.63, 7.15, 5.98, 5.07, 4.55,
3.94, 3.62, 3.26, 2.99, 2.74, 2.62, 7.13, 5.91, 4.94, 4.43, 3.93, 3.48, 3.2,
2.89, 2.69, 2.61)
hist(x, freq = F)
Histogram of x
0.30
0.25
0.20
Density

0.15
0.10
0.05
0.00

2 4 6 8 10 12

b. Qu proporcin de estas 40 acciones principales vendi ms de 4% de las acciones en


circulacin?

mean(x>4)

2
[1] 0.45
Ejercicio. 1.24. Los deportes acuticos se han sugerido como mtodo de ejercicio
cardiovascular para atletas lesionados y otros que deseen un programa de entrenamiento
aerbico de bajo impacto. En un estudio para investigar la relacin entre cadencia de ejercicios
y ritmo cardiaco,1 se midieron los ritmos cardiacos de 20 voluntarios en buenas condiciones a
una cadencia de 48 ciclos por minuto (un ciclo formado por dos pasos). Los datos son como
sigue:

a. Use la amplitud de las mediciones para obtener una estimacin de la desviacin estndar.

x<-c(87, 109, 79, 80, 96, 95, 90, 92, 96, 98, 101, 91, 78 ,112, 94, 98, 94, 107, 81, 96)
> (max(x)-min(x))/length(x)
desviacion=sqrt(sum((x-mean(x))^2))
desviacion
[1] 41.64373
b. Construya un histograma de frecuencia para los datos. Use el histograma para obtener una
aproximacin visual a y y s.

hist(x, freq = F)

Histogram of x
0.05
0.04
0.03
Density

0.02
0.01
0.00

80 90 100 110

c. Calcule y y s. Compare estos resultados con las verifi caciones de clculo proporcionadas
por los incisos a y b.

mean(x)
[1] 93.7
sqrt(var(x))
[1] 9.553726

3
d. Construya los intervalos y ks, k = 1, 2 y 3, y cuente el nmero de mediciones que caen en
cada intervalo. Compare las fracciones que caen en los intervalos con las fracciones que
esperara de acuerdo con la regla emprica.

y<-c(87, 109, 79, 80, 96, 95, 90, 92, 96, 98, 101, 91, 78 ,112, 94, 98, 94, 107, 81, 96)
s=sqrt(var(y))

for (i in 1:3) countst[i]<-sum(y>(mean(y)-(i*s)) & y<(mean(y)+(i*s)))


countst
[1] 13 20 20
#Datos en porcentajes
countst / length(y)

1.4 Basado en la matriz de datos de la ltima tabla generar una tabla


donde se muestre los estadsticos media, mediana, la varianza, max, mi
n, desviacin estndar, coeficiente de variacin, percentil 25 y 75, r
ango intercuartilico, asimetra, curtosis, jaque-bera, p-value y dems
estadsticos descriptivos.

1.4.2 Analiza los resultados obtenidos y presentar en Word.

Este ejercicio puede realizarse de distintas formas la forma en la cua


l resultara ms eficiente seria utilizando la funcin apply.

Para lo cual se necesitara contar con una funcin que realice todas la
s operaciones que se nos piden.

Lo primero entonces sera crear esta funcin:


operaciones <- function(y){
return(c(mean(y), var(y), max(y), min(y), sd(y), IQR(y), range(y)))
}#Para fines prcticos solo se colocan estas funciones, pero pueden agregarse
todas las necesarias

Ya creada la funcin solo tenemos que aplicarla a todas las variables


de nuestra matriz y como cada una de nuestras variables le corresponde
una columna la ejecucin se har sobre estas utilizando la funcin
apply1.

formaA<-apply(X,2,operaciones)

formaB<-apply(X,2,summary)

formaC<-apply(X,2, pastecs) ; formaC<-round(apply(X,2,stat.desc), digits = 2)#con


redondedo de 2 decimales

De igual forma se pueden utilizer funciones ya creadas como summary o


descargando el paquete pastecs2 el cual trae por defaul los siguientes
estadsticos:

# nbr.val, nbr.null, nbr.na, min max, range, sum,


# median, mean, SE.mean, CI.mean, var, std.dev, coef.var

formaC<-round(apply(X,2,stat.desc), digits = 2)

1
Funcin apply esta funcin aplica una operacin con uno o varios argumentos y regresa otra
estructura de datos. "X es un arreglo (puede ser una matriz si la dimensin del arreglo es 2). MARGIN es
una variable que define cmo la funcin es aplicada, cuando MARGIN=1 se aplica sobre los renglones,
cuando MARGIN=2 trabaja sobre las columnas. FUN es la funcin que deseas aplicar y puede ser
cualquier funcin de R, incluyendo funciones definidas por ti."
2
Este paquete se debe descargar. Install.packages(pastecs) Luego activarlo con library(pastecs)

4
ipc tc exp
nbr.val 19.00 19.00 19.00
nbr.null 0.00 0.00 0.00
nbr.na 0.00 0.00 0.00
min 25.78 14.01 1.00
max 119.21 45.05 19.00
range 93.43 31.04 18.00
sum 1371.99 578.24 190.00
median 76.85 33.29 10.00
mean 72.21 30.43 10.00
SE.mean 7.92 2.52 1.29
CI.mean.0.95 16.63 5.29 2.71
var 1190.38 120.63 31.67
std.dev 34.50 10.98 5.63
coef.var 0.48 0.36 0.56

Otras formas de realizar estas operaciones son basadas en bucles

for(i in 1:ncol(X)) {

print(c(max(X[,i]), min(X[,i]), median(X[,i]), sd(X[,i]),

mean(X[,i]),IQR(X[,i])))}

[1] 119.21000 25.78000 76.85000 34.50188 72.21000 66.82500


[1] 45.05000 14.01000 33.29000 10.98311 30.43368 21.56500
[1] 19.000000 1.000000 10.000000 5.627314 10.000000 9.000000

El problema es que con este bucle an queda pendiente la


identificacin clara de cada operacin que se llev a cabo

1. Teora de probabilidad y variables aleatorias


Ejemplo 3.1. Un supervisor en una planta manufacturera tiene tres hombres y tres
mujeres trabajando para l y desea escoger dos trabajadores para un trabajo especial. No
queriendo mostrar sesgo en su seleccin, decide seleccionar los dos trabajadores al azar.
Denote con Y el nmero de mujeres en su seleccin. Encuentre la distribucin de
probabilidad para Y.
Una funcin distribucin de probabilidad, suma todos los elementos que estn contenidos dentro
del espacio muestra a la que la misma le asigna una numeracin. As, en el ejemplo anterior, se
utiliza el anlisis combinatorio para conocer la cantidad de posibles combinaciones
6 6
( )= =15. As, la P(Ei)=1/15 i (0,15).
2 2(62)
6 6
( )( )
2
As la distribucin se puede definir como: p(y)= 6 , y=(0,1,2) = (3/15,9/15,3/15)
( )
2
n=factorial(6)/(factorial(2)*factorial(6-2))
x=factorial(3)/(factorial(0:2)*factorial(3-(0:2)))*factorial(3)/(factorial(2:0)*factorial(3-(2:0)))
p_y=x/n
barplot( p_y)

5
0.6
0.5
0.4
0.3
0.2
0.1
0.0

Continuando con el ejemplo anterior, obtuvimos que la distribucin de probabilidad


asume los valores de (Y) 0,1 y 2, con probabilidad p(Y) 1/5, 3/5 y 1/5 respectivamente.
Observamos que la media de la funcin se establece en 1.
Suponiendo un experimento se realiza 100,000 veces, se obtendra una media

=1 020000+160000+220000


= 100,000
= (0)(0.2/1) +(1)(0.6/1) +(2)(0.2/1)
=1
> (0)*(0.2/1) +(1)*(0.6/1) +(2)*(0.2/1)
[1] 1

Continuando con el ejemplo anterior, la distribucin de probabilidad viene dada:

Utilizando la definicin de media y varianza,


E(y)=1

=(0-1)2(1/5)+(1-1)2(3/5)+(2-1)2(1/5)
#R permite realizar este clculo tal como una calculadora.
(((0-1)^2)*(1/5))+(((1-1)^2)*(3/5))+(((2-1)^2)*(1/5))
[1] 0.4
E(Y2)=(02)(0.2/1) +(12)(0.6/1) +(22)(0.2/1)
> (0^2)*(0.2/1) +(1^2)*(0.6/1) +(2^2)*(0.2/1)
[1] 1.4

3.12 Ejercicio. Sea Y una variable aleatoria con p(y) dada en la siguiente tabla. Encuentre E(Y).
E(1/Y), E(Y^2-1) y V(Y).
y<- (1:4)
py<-c(0.4, 0.3, 0.2, 0.1)

# a.-(multiplica el vector por la transpuesta de dicho vector)


y %*% py
[,1]
[1,] 2
# b.-

6
y1=(1/y)
y1 %*% py
[,1]
[1,] 0.6416667
# c.-
y2=((y^2)-1)
y2 %*% py
[,1]
[1,] 4
# d.-Usando la definicin de varianza v(y)=E(y^2)-E(y)^2
> ((y^2)%*%py)-((y %*% py)^2)
[,1]
[1,] 1

3.14 Ejercicio. La vida mxima de la patente para un nuevo medicamento es 17 aos. Si


restamos el tiempo requerido por la FDA para someter a pruebas y aprobar el medicamento,
se obtiene la vida real de la patente para el medicamento, es decir, el tiempo que la compaa
tiene para recuperar los costos de investigacin y desarrollo y para obtener una utilidad. La
distribucin de los tiempos de vida reales de las patentes para nuevos medicamentos se da a
continuacin:
Aos, y 3 4 5 6 7 8 9 10 11 12 13
p(y) .03 .05 .07 .10 .14 .20 .18 .12 .07 .03 .01
a Encuentre la vida media de la patente para un nuevo medicamento

y<- c( 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)


py<-c(.03, .05, .07, .10, .14, .20, .18, .12, .07, .03, .01)
y %*% py
[,1]
[1,] 7.9
b Encuentre la desviacin estndar de Y = tiempo de vida de un nuevo medicamento
seleccionado al azar.

Sabiendo que la V(y)=E(y^2)-E(y)^2


(y^2 %*% py)-(y %*% py)^2
[,1]
[1,] 4.73

c. Cul es la probabilidad de que el valor de Y caiga en el intervalo m 2s?

s=sqrt(var(y))
sum(y>(mean(y)-(2*s)) & y<(mean(y)+(2*s))) / length(y)
[1] 1

3.22 Ejercicio. Un dado balanceado se tira una vez. Sea Y el nmero en su cara superior.
Encuentre el valor esperado y la varianza de Y.

y<- c(1:6)
py<- seq(from = 1/6, to = 1/6, length.out = 6)
#esperanza
y %*% py
[,1]
[1,] 3.5

7
#varianza

> (y^2 %*% py)-(y %*% py)^2


[,1]

[1,] 2.916667
3.23 Ejercicio. En un juego de azar una persona saca una sola carta de una baraja ordinaria
de 52 cartas. A una persona le pagan $15 por sacar una sota o una reina y $5 por sacar un
rey o un as. Alguien que saque cualquier otra carta paga $4. Si una persona participa en
este juego, cul es la ganancia esperada?

y<- c(15, 5, 4)

py<- c(6/52, 6/52, (52-12)/52)


y %*% py
[,1]
[1,] 3.5

3.34. El gerente del almacn de una fbrica ha construido la siguiente distribucin de


probabilidad para la demanda diaria (nmero de veces que se usa) de una herramienta en
particular.
y 0 1 2
p(y) 0.1 0.5 0.4

Cuesta a la fbrica $10 cada vez que la herramienta se usa. Encuentre la media y la varianza del
costo diario por usar la herramienta.
y<- (0:2)*10
py<- c(0.1, 0.5, 0.4)
>
y %*% py
[,1]
[1,] 13
> (y^2 %*% py)-(y %*% py)^2
[,1]
[1,] 41

Ejercicios con la distribucin binomial

Ejemplo del libro de estadstica matemtica


3.38 El fabricante de una bebida lctea de bajo contenido de caloras desea comparar el
atractivo del gusto de una nueva frmula (frmula B) con el de la frmula estndar (frmula
A). A cada uno de cuatro jueces se les dan tres vasos en orden aleatorio, dos de ellos cont la
frmula A y el otro con la frmula B. A cada uno de los jueces se les pide indicar cul vaso
fue el que disfrut ms. Suponga que las dos frmulas son igualmente atractivas. Sea Y el
nmero de jueces que indican una preferencia por la nueva frmula.

a Encuentre la funcin de probabilidad para Y.

8
n=4; p<-0.5; y<-i;
1-(factorial(n)/(factorial(y)*factorial(n-y)))*(p^y)*((1-p)^(n-y))
b Cul es la probabilidad de que al menos tres de los cuatro jueces indique una preferencia
por la nueva frmula?
n=4; p<-0.5; y<-3;
1-(factorial(n)/(factorial(y)*factorial(n-y)))*(p^y)*((1-p)^(n-y))
[1] 0.75
c Encuentre el valor esperado de Y.
n*p
[1] 2
d Encuentre la varianza de Y.
n*p*(1-p)
[1] 1

Ejercicio tomado del libro de estadstica matemtica


3.40 La probabilidad de que un paciente se recupere de una enfermedad estomacal es .8.
Suponga que se sabe que 20 personas han contrado la enfermedad. Cul es la probabilidad
de que
a exactamente 14 se recuperen?,
dbinom(14,size=20,prob=.8)
[1] 0.1090997

pbinom(14,20,.8)
[1] 0.1957922

b al menos 10 se recuperen?,
c al menos 14 pero no ms de 18 se recuperen?,
d a lo sumo 16 se recuperen?

Ejercicio tomado del libro de estadstica matemtica


3.46 Construya histogramas de probabilidad para las distribuciones de probabilidad
binomiales para n = .5, p = .1, .5 y .9. (La Tabla 1, Apndice 3, reducir la cantidad de
clculos.) Ntese la simetra para p = .5 y la direccin del sesgo para p = .1 y .9.

n=10; py<-0; a<-matrix( ,nrow=11, ncol=1)


par(mfrow=c(1,3))

for (p in c(0.1, 0.5, 0.9)){


for (y in 0:10) {

py[y+1]<-(factorial(n)/(factorial(y)*factorial(n-y)))*(p^y)*((1-p)^(n-y))

}
a<-cbind(a,py)
barplot(a[ ,ncol(a)],beside=FALSE,type=l,col=red)
}

9
#Result
a[ ,2:ncol(a)]

0.20
0.3

0.3
0.15
0.2

0.2
0.10
0.1

0.1
0.05
0.00
0.0

0.0
Ejercicio tomado del libro de estadstica matemtica
3.47 Use la Tabla 1, Apndice 3, para construir un histograma de probabilidad para la
distribucin de probabilidad binomial para n = 20 y p = .5. Observe que casi toda la
probabilidad cae en el intervalo 5 y 15.

#------------------------------
#n=10, p=0.1
n=20; p<-0.5; py<-0;
for (y in 0:20) {

py[y+1]<-(factorial(n)/(factorial(y)*factorial(n-y)))*(p^y)*((1-p)^(n-y))

}
barplot(py, names.arg=as.character(0:20), beside=FALSE)

10
0.15
0.10
0.05
0.00

0 1 2 3 4 5 6 7 8 9 11 13 15 17 19

Distribucin binomial (objetivo, introducir el uso de bucles y grficos)


5. Ya en clases simulamos un vector de 10 valores para una y~B(10,0.1) y obtuvimos la
representacin grafica de dicha representacin. Ahora, siguiendo el mismo esquema, se les
pide generar 10 variables aleatorias con igual distribucin, pero ahora con probabilidad
variable en una secuencia de 10 nmero x-distantes, entre 0 y 1. Cada uno de estos
resultados deben ser acumulados en una matriz, donde cada columna represente una
variable aleatoria simulada:

Col1= y~B(10,0) Col2= y~B(10,1) Col3= y~B(10,02) Col4= y~B(10,1)

n=10; py<-0; a<-matrix( ,nrow=11, ncol=1)


for (p in seq(length=10, from=0, to=1)){
for (y in 0:10) {
py[y+1]<-(factorial(n)/(factorial(y)*factorial(n-y)))*(p^y)*((1-p)^(n-y))
}
a<-cbind(a,py)
}

#Results
a[ , 2:ncol(a)]

11
5.1. Adems, obtener en una sola figura los histogramas de cada variable
simulada.

## Grficos
par(mfrow=c(2,5))
for (i in 2:11) {
barplot(a[,i], names.arg=as.character(0:10),
beside=FALSE,type=l,col=red)
}
1.0

0.25
0.25

0.20
0.8

0.30

0.20
0.20

0.15
0.6

0.15
0.20

0.15

0.10
0.4

0.10
0.10
0.10

0.05
0.05
0.2

0.05
0.00

0.00

0.00

0.00
0.0

0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10

1.0
0.25

0.25
0.20

0.8
0.30
0.20

0.20
0.15

0.6
0.15

0.20
0.15
0.10

0.10

0.4
0.10

0.10
0.05

0.05

0.2
0.05
0.00

0.00

0.00

0.00

0.0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10

5.2. Repetir los apartados anteriores, manteniendo fijo el valor de p en 0.5, no obstante
variando el valor de n, en 10 nmeros x-distantes entre 0 y 100.
## Practica de distribucion continua: normal
##1. Importar datos del PIB dominicano y estimar la tasa de crecimiento mediante al menos
dos alternativas distintas (uso de bucles y vectorizadas)
datos<-c(1336.67, 1555.47, 1729.23, 1880.32, 2070.46, 2218.14, 2470.71,
2604.34, 2658.65, 2870.63, 2967.36, 2986.98, 2383.71, 2617.69,
4004.37, 4195.48, 4795.68, 5180.42, 5131.06, 5673.15, 6084.52,
6252.08, 6260.40, 6480.85)
#metodo 1. tasa de crecimeinto con bucle
tc1<-0
for (i in 1:(length(datos)-1)){
tc1[i]<-(datos[i+1]-datos[i])/datos[i]
}

#metodo 2. tasa de crecimeinto vectorizada


tc2<-(datos[2:length(datos)]-datos[1:length(datos)-1])/datos[1:length(datos)-
1]
#metodo 3. Diferencias logaritmicas
tc3<-diff(log(datos))

#1.2. Hacer una representacion grafica de linea y mediante histograma


plot(tc1,
type=overplotted,
pch=1, col=blue, xlab=tiempo, ylab=TC%,
main=Grfico 1. Tasa de Crecimiento del PIB dominicano,)

12
Grfico 1. Tasa de Crecimiento del PIB dominicano

0.4
0.2
TC%

0.0
-0.2

5 10 15 20

tiempo

Comenar para que sirven las transformaciones y diversas formas de testear normalidad de
una variable:
Metodos Graficos
#histograma con linea de normal
par(mfrow=c(2,2))
hist(datos, prob=TRUE); curve(dnorm(x, mean=mean(datos), sd=sd(datos)), add=TRUE)
hist(log(datos), prob=TRUE); curve(dnorm(x, mean=mean(log(datos)), sd=sd(log(datos))),
add=TRUE)
hist(tc1, prob=TRUE); curve(dnorm(x, mean=mean(tc1), sd=sd(tc1)), add=TRUE)
hist(tc1^2, prob=TRUE); curve(dnorm(x, mean=mean(tc1^2), sd=sd(tc1^2)), add=TRUE)

Histogram of datos Histogram of log(datos)


4e-04

1.2
0.8
Density

Density
2e-04

0.4
0e+00

0.0

1000 3000 5000 7000 7.0 7.5 8.0 8.5

datos log(datos)

Histogram of tc1 Histogram of tc1^2


6
5

15
4
Density

Density

10
3
2

5
1
0

-0.2 0.0 0.2 0.4 0.6 0.00 0.05 0.10 0.15 0.20 0.25 0.30

tc1 tc1^2

qqplot(tc2,rnorm(24))

13
1.5
1.0
0.5
rnorm(24)

0.0
-0.5
-1.0
-1.5

-0.2 0.0 0.2 0.4

tc2

Metodos analiticos

Simula normales con n creciente y grafcalo, verifica que relacin tienen esas graficas con el
teorema central del lmite.
par(mfrow=c(1,3))
for (n in c(10,100,10000)){

hist(rnorm(n,0,1), prob=TRUE); curve(dnorm(x, mean=mean(rnorm(n,0,1)),


sd=sd(rnorm(n,0,1))), add=TRUE)
}

Otra forma de hacerlo:


http://digitheadslabnotebook.blogspot.com/2011/01/using-r-for-introductory-
statistics_23.html

14
*---------------------------
EJERCICIOS DE VARIABLES CONTINUAS
1. Sabiendo que x~u(1,3), obtenga en R, la representacin grfica de dicha funcin.
Recuerde que:

2. Supongamos que el tiempo medio de salida de una cajera de supermercado es de


tres minutos, es decir el tiempo que le toma atender a cada cliente. Encuentre la
probabilidad de que una salida de un cliente est terminando por el cajero en menos
de dos minutos. (pexp(2, rate=1/3))

Recuerde la funcin de densidad de Exponential Distribution es:

# 2.
pexp(2, rate=1/3)

3. Comente el uso de los siguientes comandos: rnorm(n, mean, sd), dnorm(x, mean, sd),
pnorm(q, mean, sd), qnorm(p, mean, sd).

# 3
# d returns the height of the probability density function
# p returns the cumulative density function
# q returns the inverse cumulative density function (quantiles)
# r returns randomly generated numbers

3.1. Genere, en n mismo panel grfico, la funcin de densidad, la de distribucin y otra


de nmero aleatorio, en un paner grafico de una fila y tres columnas.

15
#3.1. Tomado de: http://www.r-bloggers.com/normal-distribution-
functions/
set.seed(3000)
xseq<-seq(-4,4,.01)
densities<-dnorm(xseq, 0,1)
cumulative<-pnorm(xseq, 0, 1)
randomdeviates<-rnorm(1000,0,1)

par(mfrow=c(1,3), mar=c(3,4,4,2))

plot(xseq, densities, col="darkgreen",xlab="",


ylab="Density", type="l",lwd=2, cex=2,
main="PDF of Standard Normal", cex.axis=.8)

plot(xseq, cumulative, col="darkorange", xlab="",


ylab="Cumulative Probability",type="l",lwd=2,
cex=2, main="CDF of Standard Normal", cex.axis=.8)

hist(randomdeviates, main="Random draws from Std Normal",


cex.axis=.8, xlim=c(-4,4))

4. Los datos cuya distribucin est cerca de lognormal son comunes. mediciones del
tamao de los organismos biolgicos a menudo tienen este carcter. Como ejemplo,
descarge la librera (library(MASS)) considere las mediciones de peso corporal
(Animals$body). Comienza dibujando un histograma de los valores no
transformados, y la superposicin de una curva de densidad. Entonces
4.1. Dibuje una curva de densidad estimada para los logaritmos de los valores.
4.2. Determinar la media y la desviacin estndar de registro (Animals$body).
Superponer la densidad estimada con la densidad terica para una distribucin
normal con la media y la desviacin estndar obtenida simplemente. La distribucin
parecen normales, despus de la transformacin a una escala logartmica?

#4. http://maths-people.anu.edu.au/~johnm/courses/r/exercises/pdf/r-exercisesVI-XI.pdf
library(MASS)

16
plot(density(Animals$body))
logbody <- log(Animals$body)
plot(density(logbody))
av <- mean(logbody)
sdev <- sd(logbody)
xval <- pretty(c(av - 3 * sdev, av + 3 * sdev), 50)
lines(xval, dnorm(xval, mean = av, sd = sdev))

5. Simule en R una log-normal de n=100, meanlog=0, sdlog=1. Grafique y agregue la curva


de densidad terica y emprica. Comente la diferencia entre ambos.

samples <- rlnorm(100, meanlog=0, sdlog=1)


hist(samples, prob=T, main="", col=gray(0.9), ylim=c(0,max(d)))
lines(density(samples), lty=2)
curve(dlnorm(x, meanlog=0, sdlog=1), lwd=2, add=T)
rug(samples)

6. Simule una v.a. de una distribucin geomtrica (rgeom(100, )), obtenga un resumen
estadstico de esta (summary) y comprubelo con una funcin de R. Luego grfiquelo en
un histograma.

# Tomado de: http://www.r-bloggers.com


sample <- rgeom(100, 1/2)

summary(sample)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.00 0.00 0.00 1.01 1.25 7.00

> sd(sample)
[1] 1.534091

hist(sample)

2. Ejercicios para aprender de programacin en R

2.1. Un empleado comienza a laboral bajo un salario de 10,000 mensuales, y un contrato que
establece que anualmente el salario ser incrementado en una proporcin igual al 10% de
su salario durante los prximo n=5 aos. Genere un vector wage de dimensin n*12 que
indique el salario mensual de la persona durante los prximo n aos.

wage0<-10000.0
anios<-5
tc<-0.1

for (i in 1:anios-1){
print(i)
wage0[i+2]<-wage0[i+1]*(1+tc)
}

w <- rep(wage0, each=12)

17
Objetivo: aprender a utilizar la salida de una funcin y guardar los resultados en formatos
distintos. Esto porque en muchas ocasiones, necesitamos tabular una importante cantidad de
resultados, sin necesidad de ir pegando dato por dato, o estimar una gran cantidad de
ecuaciones con el objetivo de obtener los mejores R.

2.2. Utilice una matriz de dato [nxk], n=obs y k=variables (estas son a su eleccin, pero
propongo usen el tipo de cambio, el ndice de actividad mensual, volumen de
exportaciones y el ipc), y cree una function que teste independencia entre las
variables. La salida de esta funcin debe ser una matriz cuadrada de 10x10 (nmero
de variables) donde cada elemento represente el p-valu del test chi-cuadrado de
independencia. Es decir, en la posicin 1,2 de la matriz guardara el p-valor de la
funcin al testear independencia entre la variable 1 y 2.

Pistas/ayudas:
- La funcin chisq.test permite realizar el test de independencia solicitado, y
$p.value permite guardar los resultados
- La funcin se le ingresa una matriz y va testeando pares de variables, se puede
indexar, o crear un bucle anidado (de dos elementos) donde el movimiento de cada
elemento sirva para llamar una variable y a su vez permite llamar las posiciones de la
matriz que ocupar en la matriz de resultados.

1.2. Consideraste si la estructura de los datos puede influir en los resultados anteriores??...
realizar breve comentarios en clases.
1.3. Realiza el ejercicio anterior, de alguna forma matricial

#importamos una matrix de datos llamada X


result<-matrix(0, ncol(X), ncol(X))

for (k1 in 1:ncol(X)){


for (k2 in 1:ncol(X)){
salida <- chisq.test(cbind(X[,k1],X[,k2]), correct=F)
result[k1,k2]<-salida$p.value
}
}

Result

[,1] [,2] [,3]


[1,] 1.0000000 0.7434661 0.9582233
[2,] 0.7434661 1.0000000 0.7223357
[3,] 0.9582233 0.7223357 1.0000000

3. Ejercicios aplicados

- Campo de aplicacin, economa financiera


Ejercicio de semana 9.
Objetivo: utilizar las propiedades de la funcin de varianza covarianza para calcular los
momentos de una cartera.
Utilizando el archivo dataIbex35.txt, suponga una cartera con los activos: SAN, VISCOFAN,
ACERINO, en la cual se invierte, w{w1, w2, w3}={3/5, 1/5, 1/5}, obtenga:
9.1. El vector de rendimientos (esperanza de cada activo)

18
9.2. El rendimiento general de la cartera
9.3. Volatilidades de cada activo (desviacin estndar de cada activo)
9.4. La matriz de varianza covarianza
9.5. Varianza de la cartera
9.6. Matrix de correlaciones

19