texto argumentativo, ejemplos y ejercicios prácticos
Ejercicios resueltos en r
1. Ejercicio #8
Suponga que hay 100 observaciones de una distribución normal estándar.
¿Qué proporción de ellos se puede esperar de encontrar fuera de los bigotes
de un grafico de caja y bigotes?
Para generar 100 observaciones de una N(0,1), se usa la función
rnorm(n,mean,sd), la cual genera números aleatorios provenientes de una
normal con media=µ y desviación estándar sd=σ.
> OBN=rnorm(100,mean=0,sd=1) ##OBN recoge las 100 observaciones.
> OBN
[1] -0.111745090 -0.254461889 2.308631023 -0.726117241 -0.827187015
[6] -0.811504827 -0.514454563 1.007168705 1.505303667 -0.864154958
[11] 1.144977625 0.765157245 2.455734821 0.680712974 0.483932307
[16] 0.437156317 -0.293639570 -0.546920330 -0.311822521 -1.707236612
[21] 1.095175219 0.983241648 1.799712447 -1.266547671 1.137447785
[26] -0.447793367 -0.682261817 -1.107906650 -0.603454947 -0.013587408
[31] 0.261754388 -1.528787668 2.890167614 -1.074717950 -1.274684536
[36] -0.125613930 0.412754112 0.800600475 0.074546672 -1.427159396
[41] 2.311707297 0.367165543 0.342885921 -0.142127529 -1.409936399
[46] -0.338527009 -0.258062305 0.367073389 0.973153647 -0.299293726
[51] 1.183434028 0.333388082 2.775993526 -0.836149635 -0.188792239
[56] 2.633762229 -0.707825503 -0.235062368 -0.085990482 0.325708477
[61] -0.120007380 -0.370187629 0.338340325 0.523000208 1.275889974
[66] -0.766955768 0.372048092 -0.764399429 -2.678892714 -1.952719127
[71] 0.832288946 -0.009705185 -1.177045584 -0.851872619 1.190567314
[76] 1.570086655 0.341719850 1.385469979 -1.499209892 -0.641884563
[81] -1.076134505 1.081349239 -0.358826002 0.353583399 -0.145960579
[86] 0.805585161 0.149952354 0.508357459 0.705956230 -0.836651861
[91] -0.729851457 0.892712930 -1.279253693 0.637076035 -0.181822996
[96] 0.228625032 0.671197244 0.427730242 0.331607116 -1.073112372
2. Ahora para crear el grafico de caja y bigotes podemos usar el comando
boxplot()
> boxplot(OBN, col = "lightgray") ##Genera el grafico.
3
2
1
0
-1
-2
En el cual se observa que no existen observaciones fuera de los bigotes para
los 100 números aleatorios provenientes de la normal estándar, sin embargo
podemos generar nuevamente 100 observaciones aleatorias con el comando
rnorm() y observar en este nuevo grafico de caja y bigote.
3
2
2
1
1
0
0
-1
-1
-2
-2
-3
En este nuevo grafico se puede observar una observación por debajo del límite
del bigote inferior, y continuar haciendo esto y solo en algunos casos existirán
valores superiores o inferiores que sobrepasen los bigotes. Por lo cual la
conclusión de ello es que menos del uno por ciento (1%) de las observaciones
estarán fuera de los bigotes.
3. Por otro lado podemos determinar esos valores superiores e inferiores con las
siguientes funciones, para el caso de los 100 observaciones basta con aplicar:
Máximo=max(OBN) ## Maximo de las 100 observaciones
Mínimo=min(OBN) ## Mínimo de las 100 observaciones.
Ejercicio 9
Haz una tabla para el estado civil que le da el porcentaje de fumadores y no
fumadores en cada categoría de matrimonio para las madres en el estudio de
Missouri (Tabla 1.6).
La tabla vendría dada por una matriz, para lo cual usaríamos el comando
matrix(c(), nrow=,ncol=, byrow=FALSE, dimnames = list())
## Respuesta: TEC(Tabla del estado Civil de fumadoras y no fumadoras).
> TEC<- matrix(c(90,10,24,6,66,4), nrow = 2, ncol=3, byrow=FALSE,
+ dimnames = list(c("Casada", "Soltera"),
+ c("Mujeres", "Fumadoras", "No Fumadoras")))
> TEC
Mujeres Fumadoras No Fumadoras
Casada 90 24 66
Soltera 10 6 4
4. Ejercicio #12.
En el estudio de Missouri, el peso promedio al nacer de los bebés de
fumadoras es 3180 gramos y la SD es de 500 gramos. ¿Cuál es la media y SD
en onzas?
Hay 0,035 onzas en 1 gramo.
Se debe usar una regla de tres, la cual se plantearía de la siguiente manera
para la media:
Con esta misma lógica la desviación estándar SD en onzas vendría dada por:
Programando esto en R nos quedaría que:
> MediO=(3180*0.035)/1 ##Media en Onzas
> MediO ##Esta es la media en onzas.
[1] 111.3
>
> ## Ahora bien la desviación estándar en onzas vendrá dada por
>
> SDO=(500*0.035)/1 ## SD en Onzas
> SDO
[1] 17.5
5. Ejercicio #17.
Supongamos que el cuartiles de una N (μ, s 2) la distribución se grafican
contra el cuantiles de una N (0, 1). Demuestre que la pendiente y la
intersección de la línea de puntos son s y μ, respectivamente.
##Supongamos que µ=10, y S^2=2, entonces:
## Podemos generar 100 observaciones de una normal estándar N(0,1) y 100
observaciones de esta normal(10, 2)
> Z=rnorm(100,0,1) ## Genera 100 obsv. de una N(0,1)
>Z
[1] 0.53571841 -1.12276477 -0.13338431 0.33297998 -0.17873518 -
1.83963050
[7] -2.55718691 1.17304995 -0.29326982 0.51225293 0.28433655
1.44342827
[13] 0.01524163 -0.48382096 -0.92726267 -0.93503608 -0.30701925
0.38745525
[19] 1.51723454 1.02827383 -1.63373101 0.29674845 0.08430470 -
0.60238113
[25] -2.19005525 -0.00300523 2.57036574 -0.61045040 -0.78153894 -
1.22772084
[31] -0.34177581 -1.12555003 1.30158192 0.88203327 0.19131526 -
0.05967654
[37] -0.92939902 1.08595804 1.79767500 0.32201401 -2.54440429 -
1.09545746
[43] -0.67107083 -0.45731487 0.38424573 -1.31049141 -2.07971488 -
0.24442296
[49] -0.64604197 1.71032614 0.34580022 0.80851152 -0.99561367 -
0.73676660
[55] 0.69059253 -0.90557483 -0.61399340 0.77547212 0.21721928
0.26112283
[61] 0.28467840 -0.67619313 1.20992648 0.71343717 1.29481380 -
1.22052569
6. [67] 1.39696288 -1.50194687 0.16390998 -0.49597548 -0.32716224 -
0.15134102
[73] -1.41975325 -0.89315168 0.40005587 -0.05210959 0.67589459 -
1.64418939
[79] -1.24990369 -0.95655596 0.96642499 -2.85614079 0.01507904 -
0.26590851
[85] -1.14362879 -0.42678110 0.37146070 -1.09692033 1.11701540 -
0.31778783
[91] -0.24322640 0.31517924 -1.65448065 0.67946901 -0.03580510
0.82423603
[97] -1.16716896 0.84602377 -0.49881516 -0.79550797
## Obsérvese que rnorm usa a SD en vez de la varianza, por lo cual
SD=sqrt(2), donde sqrt() calcula la raíz cuadrada.
> W=rnorm(100,10,sd=sqrt(2)) ## Genera 100 obsv. de una N(10,2)
>W
[1] 10.432048 8.738596 11.329604 8.346840 7.987442 9.984712 9.897239
[8] 11.450941 9.133367 8.664369 14.023585 9.398513 11.325225
11.153591
[15] 13.101466 9.910969 9.774813 10.057651 9.850019 10.108613
12.889943
[22] 9.923610 10.778035 10.172779 11.507054 13.223162 12.101777
11.706380
[29] 8.857832 10.601100 9.854763 7.962649 9.412917 9.069753
10.733380
[36] 10.757615 9.122465 11.593584 12.109945 11.506970 10.661298
7.637626
[43] 10.975563 11.496758 11.770789 9.301145 11.035635 9.466971
9.690393
[50] 8.316904 9.273159 10.533202 10.596366 7.979461 11.424506
8.310219
[57] 11.306295 10.578878 9.926203 9.203312 9.568018 9.247342
11.045838
7. [64] 12.555342 7.712576 7.819265 8.957834 10.927060 7.631808
7.950070
[71] 13.382519 10.181943 11.423553 9.627291 10.678137 9.718269
12.430001
[78] 9.614855 10.404476 10.852926 9.095408 11.621738 9.910972
9.247171
[85] 11.301816 9.736470 9.827228 9.013918 8.067430 8.481083 9.581352
[92] 10.239770 8.326965 8.280400 11.067679 9.057607 10.166745
12.149949
[99] 11.595939 11.287653
> q1=quantile(Z) ##Calcula los cuartiles de Z
> q1
0% 25% 50% 75% 100%
-2.8561408 -0.9277968 -0.2109808 0.4281051 2.5703657
> q2=quantile(W) ##Calcula los cuartiles de W
> q2
0% 25% 50% 75% 100%
7.631808 9.185825 10.021182 11.291194 14.023585
>
> ## Luego debemos graficar los puntos de Yq contra los de Zq.
> ## Esto se hace a traves del comando plot(x,y)
> grafico=plot(q2,q1)
8. 2
1
0
q1
-1
-2
-3
8 9 10 11 12 13 14
q2
## Ahora para calcular los parámetros podemos usar la función line(x,y)
> line(q1,q2)
Call:
line(q1, q2)
Coefficients:
[1] 10.755 1.253
Donde la pendiente es 10.755 y el intercepto es 1.253, los cuales se aproximan
a y efectivamente.