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
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
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)