Punto 1

Simulación lanzamiento del dado

Literal a

lanzamiento = function(){
  dado1=1:6
  dado2=1:6
  x=sample(dado1,1)+sample(dado2,1)
  return(x)
}

Literal b

simulacion_lanzamiento_multi = function(numlan,v_condi){
  sim_lanz=array(NA,numlan)
  for (i in 1:numlan) {
    sim_lanz[i]=lanzamiento()
  }

  return(sum(sim_lanz==v_condi))
}

simulacion_lanzamiento_multi(500,5)
## [1] 69

Literal c

dado1=1:6
dado2=1:6
espacio=expand.grid(dado1,dado2)
a=apply(espacio, 1, sum)
c=data.frame(espacio,a)
b=length(a)

mini=min(c$a)
maxi=max(c$a)

prob_teorica=table(a)/b
plot(mini:maxi,prob_teorica,type="c")

prob_teorica=data.frame(prob_teorica)


tabl_sim_lan_multi=array(NA, maxi)


for (i in 1:maxi) {
  tabl_sim_lan_multi[i]=simulacion_lanzamiento_multi(1000000,i)/1000000
}
tabl_sim_lan_multi=data.frame(c(1:12),tabl_sim_lan_multi)

tabl_sim_lan_multi
##    c.1.12. tabl_sim_lan_multi
## 1        1           0.000000
## 2        2           0.028046
## 3        3           0.055325
## 4        4           0.083427
## 5        5           0.110551
## 6        6           0.139373
## 7        7           0.166187
## 8        8           0.139023
## 9        9           0.111260
## 10      10           0.083074
## 11      11           0.055947
## 12      12           0.027859
prob_teorica
##     a       Freq
## 1   2 0.02777778
## 2   3 0.05555556
## 3   4 0.08333333
## 4   5 0.11111111
## 5   6 0.13888889
## 6   7 0.16666667
## 7   8 0.13888889
## 8   9 0.11111111
## 9  10 0.08333333
## 10 11 0.05555556
## 11 12 0.02777778

Punto 2

Simulación concepto de distribución Muestral (caso proporciones)

Literal a

cerosyunos=(0:1)
poblacion = sample(cerosyunos,size = 900, replace = 100)

Literal b

require(scales)

tam_muestra_y_porc_de_1 = function(tam_muestra){
muestra = sample(poblacion, size = tam_muestra)
tabla_muestra=data.frame(table(muestra))
df_tabla_muestra=data.frame(tabla_muestra,c(tabla_muestra$Freq/sum(tabla_muestra$Freq)))
names(df_tabla_muestra)[3]="Porcentaje"

return(df_tabla_muestra[2,])
}


tam_muestra_y_porc_de_1(300)
##   muestra Freq Porcentaje
## 2       1  158  0.5266667

Literal c

iteracciones=array(NA,1000)


for (i in 1:1000) {
  data_porc=tam_muestra_y_porc_de_1(300)
  data_porc=data.frame(tam_muestra_y_porc_de_1(300))
  iteracciones[i]=data_porc$Porcentaje
  iteracciones
}

Literal d

hist(iteracciones)
abline(v=0.51,col="red",lwd=4)

summary(iteracciones)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.4167  0.4700  0.4833  0.4856  0.5033  0.5767
summary(poblacion)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.0000  0.0000  0.4856  1.0000  1.0000

Punto 3

Función Descriptivos Unitarios

Primero se cargará una BD para poder realizar los puntos

library(readxl)
ENCUESTA_MASCOTAS <- read_excel("C:/Users/pocho/Desktop/ENCUESTA_MASCOTAS.xlsx")

id = 1:dim(ENCUESTA_MASCOTAS)[1]

ENCUESTA_MASCOTAS=data.frame(id, ENCUESTA_MASCOTAS)

head(ENCUESTA_MASCOTAS)
##   id      SEXO EDAD      MASCOTA ESTADO.CIVIL SALARIO_DUEÑO
## 1  1 MASCULINO   29        PECES        VIUDO       2500000
## 2  2  FEMENINO   28        PERRO   DIVORCIADO       2000000
## 3  3 MASCULINO   26        PERRO   DIVORCIADO       2500000
## 4  4 MASCULINO   54         GATO      SOLTERO       2750000
## 5  5 MASCULINO   40 SIN_MASCOTAS        VIUDO       2250000
## 6  6 MASCULINO   30 SIN_MASCOTAS       CASADO       2250000

Literal a

Esta serán las funciones cuantitativas que se generarán, unas para gráficas y otro para los datos

require(agricolae)
require(ggplot2)
require(plotly)

cuanti_frecuencia1 = function(vct){
  
  ta1=hist(vct,plot = FALSE)
  ta2=table.freq(ta1)
  return(ta2)
  
}

cuanti_frecuencia2 = function(vct){
  
  minimo=min(vct)
  maximo=max(vct)
  promedio=mean(vct)
  desviacion_estandar=sd(vct)
  mediana=median(vct)
  
  data.cunti=data.frame(minimo,maximo,promedio,desviacion_estandar,mediana)
  
  return(data.cunti)
  
}

cuanti_grafico1 = function(variable_cuantitativa){
  
  h1=hist(variable_cuantitativa,labels = TRUE)
  
  return(h1)
  
}

cuanti_grafico2 = function(variable_cuantitativa){
  
  w1=data.frame(table(variable_cuantitativa))

  wg1=ggplot(w1,aes(x= w1$Freq, y=w1$variable_cuantitativa)) + geom_col()
  return(ggplotly(wg1))
  
}

grafica_cuanti = function(v1){
  cuanti_grafico1(v1)
  cuanti_grafico2(v1)
  
}

Se eligirá la variable cuantitativa EDAD

v1 = ENCUESTA_MASCOTAS$EDAD

cuanti_frecuencia1(v1)
##    Lower Upper Main Frequency Percentage  CF   CPF
## 1     15    20 17.5        43        8.3  43   8.3
## 2     20    25 22.5        85       16.4 128  24.7
## 3     25    30 27.5        92       17.7 220  42.4
## 4     30    35 32.5        88       17.0 308  59.3
## 5     35    40 37.5        30        5.8 338  65.1
## 6     40    45 42.5        41        7.9 379  73.0
## 7     45    50 47.5        35        6.7 414  79.8
## 8     50    55 52.5        32        6.2 446  85.9
## 9     55    60 57.5        58       11.2 504  97.1
## 10    60    65 62.5        15        2.9 519 100.0
cuanti_frecuencia2(v1)
##   minimo maximo promedio desviacion_estandar mediana
## 1     17     62 36.22736            13.03627      33
grafica_cuanti(v1)

Literal b

Esta serán las funciones cualitativas que se generarán, unas para gráficas y otro para los datos

require(scales)
require(ggplot2)
require(plotly)

cuali_frecuencia = function(v2){
  
cuali=data.frame(table(v2))

names(cuali)[1]="Variable_cualitativa"

df_cuali=data.frame(cuali,c(percent(cuali$Freq/sum(cuali$Freq),1)))
names(df_cuali)[3]="Porcentaje"

return(df_cuali)
  
}

cuali_grafico1 = function(variable_cualitativa){
  
  cuali=data.frame(table(variable_cualitativa))

  names(cuali)[1]="Variable_cualitativa"

  df_cuali=data.frame(cuali,c(percent(cuali$Freq/sum(cuali$Freq),1)))
  names(df_cuali)[3]="Porcentaje"
  
  h2=plot(x=df_cuali$Variable_cualitativa, y=df_cuali$Freq,col="red")
  
  return(h2)
  
}

cuali_grafico2 = function(variable_cualitativa){
  
   cuali=data.frame(table(variable_cualitativa))

  names(cuali)[1]="Variable_cualitativa"

  df_cuali=data.frame(cuali,c(percent(cuali$Freq/sum(cuali$Freq),1)))
  names(df_cuali)[3]="Porcentaje"
  
  w2=df_cuali

  wg2=ggplot(w2,aes(x= w2$Freq, y=w2$Variable_cualitativa)) + geom_col()
  
  return(ggplotly(wg2))
  
}

Se eligirá la variable cualitativa ESTADO.CIVIL

v2=ENCUESTA_MASCOTAS$ESTADO.CIVIL

cuali_frecuencia(v2)
##   Variable_cualitativa Freq Porcentaje
## 1               CASADO  103        20%
## 2           DIVORCIADO  113        22%
## 3            RELIGIOSO   49         9%
## 4              SOLTERO  105        20%
## 5                VIUDO  149        29%
cuali_grafico1(v2)

## $stats
##      [,1] [,2] [,3] [,4] [,5]
## [1,]  103  113   49  105  149
## [2,]  103  113   49  105  149
## [3,]  103  113   49  105  149
## [4,]  103  113   49  105  149
## [5,]  103  113   49  105  149
## 
## $n
## [1] 1 1 1 1 1
## 
## $conf
##      [,1] [,2] [,3] [,4] [,5]
## [1,]  103  113   49  105  149
## [2,]  103  113   49  105  149
## 
## $out
## numeric(0)
## 
## $group
## numeric(0)
## 
## $names
## [1] "CASADO"     "DIVORCIADO" "RELIGIOSO"  "SOLTERO"    "VIUDO"
cuali_grafico2(v2)

Literal c

Esta serán las funciones cualitativas que se generarán, unas para gráficas y otro para los datos

def_variable = function(u1){
  if(is.integer(u1)==TRUE | is.numeric(u1)==TRUE ){
  cuanti_frecuencia1(u1)
  cuanti_frecuencia2(u1)
  grafica_cuanti(u1)
  }else{
  cuali_frecuencia(u1)
  cuali_grafico1(u1)
  cuali_grafico2(u1)
  }
}

Se prueba las funciones con una variable cualitativa de la base de datos como ENCUESTA_MASCOTAS$SEXO

u1=ENCUESTA_MASCOTAS$SEXO
def_variable(u1)

Se prueba las funciones con una variable cuantitativa de la base de datos como ENCUESTA_MASCOTAS$SALARIO_DUEÑO

u1=ENCUESTA_MASCOTAS$SALARIO_DUEÑO
def_variable(u1)