ESTADÍSTICA COMPUTACIONAL

Profesor: ELMER RODRÍGUEZ STÉVEZ

ACTIVIDAD 2. EVALUACIÓN ESTADÍSTICA Y GENERACIÓN DE VECTORES EN R


  1. Calcule las siguientes expresiones estadísticas:
  1. Intervalo de confianza para la proporción poblacional: \[ Lim(sup)= 0.5 + 1.96\sqrt{\frac{0.85(1-0.85)}{40}} \]
Lim.inf=0.5-1.96*sqrt((0.85)*(1-0.85)/40)
Lim.inf
## [1] 0.3893424
Lim.sup=0.5+1.96*sqrt((0.85)*(1-0.85)/40)
Lim.sup
## [1] 0.6106576
  1. En la Universidad del Norte una revista local afirmó que, por cada 10 estudiantes universitarios encuestados, 3 de ellos trabajan. Un estadístico de la universidad, quiso probar esta aseveración, a un nivel de significación del 2.5%, teniendo en cuenta la hipótesis alternativa de que la proporción real de los estudiantes universitarios que trabajan, es mayor, de lo que se afirma. Ahora, sabiendo que la población en esos momentos era de 10000 estudiantes, una muestra aleatoria de 600 estudiantes universitarios reveló que 200 de ellos trabajan. De lo anterior, el investigador solo deseaba calcular el estadístico de prueba Z, pero solo pudo llegar justo antes de obtener el valor final, debido a que su calculadora se quedó sin baterías. La idea es que usted le ayude desde el programa R a que obtenga el valor Z prueba redondeado a dos lugares decimales, teniendo en cuenta todos los cálculos obtenidos por el investigador, los cuales se muestran a continuación: Datos: po=310; α=0.025;n=600;x=200;N=10000 Fórmula: Ésta prueba comprende el cálculo del valor estadístico de la prueba Z, teniendo en cuenta el factor finito de corrección:

\[ Zprueba= \frac{\frac{x}{n}-p_{0}}{\sqrt{\frac{p_{0}(1-p_{0})}{n}}.\sqrt{\frac{N-n}{N-1}}}\]

 N=10000
 n=600
 x=200
 po=3/10
 
 zprueba=((x/n)-po)/(sqrt(po*(1-po)/n)*sqrt((N-n)/(N-1)))
 round(zprueba,2)
## [1] 1.84
  1. Evalúe la función de densidad de la distribución normal sabiendo que x=10; μ=5; σ=1.8.

\[ f(x)=\frac{1}{\sigma \sqrt{2\pi }}e^{-\frac{1}{2}(\frac{x-\mu }{\sigma })^{2}}\]

x=10
u=5
sigma=1.8
pi=3.1415926535

dn=(1/(sigma*sqrt(2*pi)))*exp((-1/2)*((x-u)/sigma)^2)
dn
## [1] 0.00467863
dnorm(10,5,1.8)
## [1] 0.00467863
  1. Ingrese al siguiente link https://es.wikipedia.org/wiki/Distribuci%C3%B3n_t_de_Student y evalué la función de densidad de la distribución t de Student no estandarizada, teniendo en cuenta que: x=10;μ=5;σ=1.8;n=18.

\[ p(x|v,\mu ,\sigma )=\frac{\Gamma(\frac{v+1}{2}) }{\Gamma (\frac{v}{2})}(1+\frac{1}{v}(\frac{x-\mu }{\sigma })^2)^{-\frac{v+1}{2}}\]

x=10
u=5
sigma=1.8
n=18
v=17
pi=3.1415926535
p=(gamma((v+1)/2))/(gamma(v/2)*sqrt(pi*v)*sigma)
p
## [1] 0.218401

  1. De acuerdo a los diferentes métodos que han aprendido para generar vectores. Escriba en el prompt el comando más acorde para generar los siguientes vectores:
  1. 10,13,16,19,22,25,28,31,34,37,40,43,46,49.
x=seq (10,49, by=3)
x
##  [1] 10 13 16 19 22 25 28 31 34 37 40 43 46 49
  1. 10,30,50,70,90. Restricción: No utilizar el argumento by.
w=0:4
y=20*w+10
y
## [1] 10 30 50 70 90
  1. 8,12,17,23,30,38
m=1:6
s=(m^2+5*m+10)/2
s
## [1]  8 12 17 23 30 38
  1. 5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8.
v=rep (5:8, each=4)
v
##  [1] 5 5 5 5 6 6 6 6 7 7 7 7 8 8 8 8
  1. 5,6,7,8,5,6,7,8,5,6,7,8,5,6,7,8.
w=rep (seq (5,8, by=1), time=4)
w
##  [1] 5 6 7 8 5 6 7 8 5 6 7 8 5 6 7 8

  1. Sabemos que para sumar vectores éstos deben tener la misma longitud. Sin embargo, R trabaja de manera distinta. Por lo que supondremos, por ejemplo que se han definido los siguientes vectores: x=(1,2,3,4,5,6), y=(7,8), y z=(9,10,11,12)
  1. X + X
V=c(1,2,3,4,5,6) + c(1,2,3,4,5,6)
V
## [1]  2  4  6  8 10 12
  1. X + Y .¿Qé ha hecho R?
W=c(1,2,3,4,5,6) + c(7,8)
W
## [1]  8 10 10 12 12 14

En este caso R repite los elementos del vector de menor tamaño en su orden hasta completar la misma cantidad de elementos en los dos vectores y luego los suma término a término. Como si fuera

W=c(1,2,3,4,5,6) + c(7,8,7,8,7,8)

  1. X + Z. Ahora R da un warning, pero aun así nos da un resultado. ¿Cómo lo ha calculado?
U=c(1,2,3,4,5,6) + c(9,10,11,12)
## Warning in c(1, 2, 3, 4, 5, 6) + c(9, 10, 11, 12): longer object length is not a
## multiple of shorter object length
U
## [1] 10 12 14 16 14 16

En este caso R suma los cuatro primeros términos del primer vector con los cuatro términos del segundo y los dos últimos términos del primer vector con los dos primeros términos del segundo. Como si fuera

z=c(1,2,3,4,5,6) + c(9,10,11,12,9,10)


  1. Genere una muestra de un vector de caracteres en donde se evidencie un experimento aleatorio al momento de lanzar una moneda 10 veces, en donde se muestre los resultados éxito y fracaso con probabilidades del 0.8 y 0.2 respectivamente.
moneda=c("cara","sello")
sample(moneda,10,replace = TRUE,prob=c(0.8,0.2))
##  [1] "cara"  "cara"  "cara"  "cara"  "cara"  "cara"  "cara"  "cara"  "sello"
## [10] "cara"

  1. Repita el ejercicio anterior, pero ahora usando la función para generar vectores aleatorios numéricos de una distribución Bernoulli.
rbinom(10,1,prob=c(0.8,0.2))
##  [1] 1 0 1 0 0 0 1 0 1 0

  1. Del vector cuentas generado en clase, se nombró cada uno de los elementos mediante números del 0 al 7. Si quisiera hacer lo mismo mediante las letras de alfabeto.
  1. ¿cómo podría hacer esto posible? Sugerencia: utilice la función letters.
cuenta=c(15,28,10,4,21,18,35,9)
cuenta
## [1] 15 28 10  4 21 18 35  9
names(cuenta)=letters[1:8]
cuenta
##  a  b  c  d  e  f  g  h 
## 15 28 10  4 21 18 35  9

Para nombrar cada uno de los elementos del vector con letras minúsculas, se utiliza la función letters en minúscula.

  1. Haga lo mismo del inciso anterior, pero con letras mayúsculas. ¿Qué función empleó?
names(cuenta)=LETTERS[1:8]
cuenta
##  A  B  C  D  E  F  G  H 
## 15 28 10  4 21 18 35  9

Para nombrar cada uno de los elementos del vector con letras mayúsculas, se utiliza la función LETTERS en mayúscula.


  1. Genere un vector aleatorio de distribución binomial, con número de observaciones 30, 10 ensayos y probabilidad de éxito 0.4. Del vector obtenido anteriormente, genere los siguientes vectores:
x=rbinom(30,10,0.4)
x
##  [1] 3 5 5 5 2 5 6 6 6 2 2 2 5 4 7 4 6 2 5 2 5 2 6 5 4 4 5 5 3 7
  1. Ordénelos de menor a mayor.
sort(x)
##  [1] 2 2 2 2 2 2 2 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 7 7
  1. Ordénelos de mayor a menor.
rev(sort(x))
##  [1] 7 7 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 2 2 2 2 2 2 2
  1. Extraiga el octavo y veinteavo elemento del vector.
x[c(8,20)]
## [1] 6 2
  1. Extraiga los valores de las posiciones impares.
x[seq(1,29, by=2)]
##  [1] 3 5 2 6 6 2 5 7 6 5 5 6 4 5 3
  1. Extraiga los valores que son mayores que 3, pero menores que 8.
which(x>3,x<8)
##  [1]  2  3  4  6  7  8  9 13 14 15 16 17 19 21 23 24 25 26 27 28 30
x[which(x>3,x<8)]
##  [1] 5 5 5 5 6 6 6 5 4 7 4 6 5 5 6 5 4 4 5 5 7