library(dplyr)
library(ggplot2)
library(descriptr)
library(knitr)
library(modeest)
library(fdth)
library(readxl)
library(plotrix)Sección A: Medidas descriptivas y tablas
library(readxl)
EncuestaSitiosComida<-read_excel("C:/Users/Acer/OneDrive/Pictures/Prrobabilidad/EncuestaSitiosComida.xlsx")
View(EncuestaSitiosComida)
set.seed(8126)
datos<- EncuestaSitiosComida
muestra_290 <- sample_n(EncuestaSitiosComida, size=290, replace = FALSE)
muestra_290## # A tibble: 290 × 15
## ID V1_SitioZona V2_TiempoConoce_meses V3_Recomienda V4_Atencion_cat
## <dbl> <chr> <dbl> <chr> <chr>
## 1 306 Zona Centro 34 No Mala
## 2 747 Zona Sur 28 Sí Buena
## 3 5 Zona Centro 66 Sí Regular
## 4 909 Zona Centro 16 No Mala
## 5 870 Zona Centro 51 No Buena
## 6 186 Zona Centro 11 No Buena
## 7 689 Zona Norte 66 No Buena
## 8 328 Zona Sur 34 Sí Buena
## 9 1142 Zona Centro 38 Sí Mala
## 10 554 Zona Sur 21 No Regular
## # ℹ 280 more rows
## # ℹ 10 more variables: V5_Atencion_1a4 <dbl>, V6_VisitasSemana <dbl>,
## # V7_PrecioAlmuerzo <dbl>, V8_CompanerosAlmuerzo <dbl>, V9_Edad <dbl>,
## # V11_Ingresos <dbl>, V12_Gastos <dbl>, V13_PesoKg <dbl>,
## # V14_EstaturaCm <dbl>, V15_Sexo <chr>
1) Calcule e interprete media, mediana, moda, desviación estándar y coeficiente de variación para las variables cuantitativas. Interpretación esperada: Identificar concentraciones, asimetrías, atípicos y diferencias visibles entre variables. Comparar media vs mediana para inferir asimetría; usar CV para comparar dispersión relativa
vars_cuant <- c("V2_TiempoConoce_meses", "V5_Atencion_1a4", "V6_VisitasSemana",
"V7_PrecioAlmuerzo", "V8_CompanerosAlmuerzo", "V9_Edad",
"V11_Ingresos", "V12_Gastos", "V13_PesoKg", "V14_EstaturaCm")
resumen_var <- function(x) {
x <- na.omit(x)
media <- mean(x)
mediana <- median(x)
moda <- as.numeric(names(sort(table(x), decreasing = TRUE)[1]))
sd_val <- sd(x)
cv <- sd_val / media
return(c(Media = media,
Mediana = mediana,
Moda = moda,
DesvEst = sd_val,
CV = cv))
}
# Aplicar a todas las variables cuantitativas
resultados <- sapply(muestra_290 [vars_cuant], resumen_var)
# Transponer para que quede tabla legible
resultados <- t(resultados)
round(resultados, 2)## Media Mediana Moda DesvEst CV
## V2_TiempoConoce_meses 32.32 27.00 21.0 23.13 0.72
## V5_Atencion_1a4 2.54 3.00 3.0 1.02 0.40
## V6_VisitasSemana 2.98 3.00 3.0 1.89 0.63
## V7_PrecioAlmuerzo 22552.67 22816.00 21845.0 4601.58 0.20
## V8_CompanerosAlmuerzo 1.96 2.00 1.0 1.38 0.70
## V9_Edad 37.47 36.00 34.0 10.32 0.28
## V11_Ingresos 3782795.95 2882780.50 1500000.0 2626404.66 0.69
## V12_Gastos 2241448.66 1776881.00 500000.0 1650129.39 0.74
## V13_PesoKg 68.42 68.90 69.1 9.60 0.14
## V14_EstaturaCm 165.98 165.25 150.0 8.70 0.05
View(resultados)
cat("En general, la comparación entre la media y la mediana muestra el grado de asimetría de cada variable, el CV permite identificar cuáles tienen mayor dispersión relativa y los valores atípicos visibles refuerzan dónde hay alta variabilidad y concentraciones claras en la distribución.")## En general, la comparación entre la media y la mediana muestra el grado de asimetría de cada variable, el CV permite identificar cuáles tienen mayor dispersión relativa y los valores atípicos visibles refuerzan dónde hay alta variabilidad y concentraciones claras en la distribución.
Punto 2
percentiles_fun <- function(x) {
x_no_na <- na.omit(x)
q <- quantile(x_no_na, probs = c(0.25, 0.5, 0.75), na.rm = TRUE)
iqr <- IQR(x_no_na, na.rm = TRUE)
p10 <- quantile(x_no_na, probs = 0.10, na.rm = TRUE)
p50 <- quantile(x_no_na, probs = 0.50, na.rm = TRUE)
p90 <- quantile(x_no_na, probs = 0.90, na.rm = TRUE)
tibble::tibble(
q1 = q[[1]],
q2 = q[[2]],
q3 = q[[3]],
iqr = iqr,
p10 = p10,
p50 = p50,
p90 = p90
)
}
cuartiles_list <- lapply(muestra_290 [vars_cuant], percentiles_fun)
cuartiles_df <- bind_rows(cuartiles_list, .id = "variable")
print(cuartiles_df)## # A tibble: 10 × 8
## variable q1 q2 q3 iqr p10 p50 p90
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 V2_TiempoConoce_meses 16 27 4.27e1 2.68e1 9 e0 2.7 e1 6.11e1
## 2 V5_Atencion_1a4 2 3 3 e0 1 e0 1 e0 3 e0 4 e0
## 3 V6_VisitasSemana 2 3 4 e0 2 e0 1 e0 3 e0 6 e0
## 4 V7_PrecioAlmuerzo 18585. 22816 2.65e4 7.88e3 1.59e4 2.28e4 2.89e4
## 5 V8_CompanerosAlmuerzo 1 2 3 e0 2 e0 0 2 e0 4 e0
## 6 V9_Edad 30 36 4.48e1 1.47e1 2.5 e1 3.6 e1 5.3 e1
## 7 V11_Ingresos 1985442. 2882780. 4.85e6 2.87e6 1.5 e6 2.88e6 6.98e6
## 8 V12_Gastos 1102128. 1776881 2.82e6 1.72e6 8.39e5 1.78e6 4.18e6
## 9 V13_PesoKg 61.5 68.9 7.49e1 1.34e1 5.46e1 6.89e1 8.17e1
## 10 V14_EstaturaCm 159. 165. 1.72e2 1.29e1 1.55e2 1.65e2 1.78e2
View(cuartiles_df)
cat("Los percentiles y el IQR muestran que varias variables tienen una alta dispersión y valores muy alejados entre Q1 y Q3, lo que indica presencia de asimetría y posibles outliers, mientras que otras presentan rangos más compactos que reflejan mayor concentración de muestra_290.")## Los percentiles y el IQR muestran que varias variables tienen una alta dispersión y valores muy alejados entre Q1 y Q3, lo que indica presencia de asimetría y posibles outliers, mientras que otras presentan rangos más compactos que reflejan mayor concentración de muestra_290.
Punto 3
k <- 8
x <- muestra_290 $V7_PrecioAlmuerzo
rango <- max(x, na.rm = TRUE) - min(x, na.rm = TRUE)
amplitud <- ceiling(rango / k)
# Construcción de intervalos
breaks <- seq(min(x, na.rm = TRUE), max(x, na.rm = TRUE) + amplitud, by = amplitud)
# Tabla de frecuencias
tabla_freq <- cut(x, breaks = breaks, right = FALSE, include.lowest = TRUE) %>%
table() %>%
as.data.frame()
colnames(tabla_freq) <- c("Clase", "Frecuencia")
# Agregar frecuencia acumulada y relativa
tabla_freq <- tabla_freq %>%
mutate(
Frecuencia_Acumulada = cumsum(Frecuencia),
Frecuencia_Relativa = round(Frecuencia / sum(Frecuencia), 3),
Frecuencia_Relativa_Acumulada = cumsum(Frecuencia_Relativa)
)
print(tabla_freq)## Clase Frecuencia Frecuencia_Acumulada Frecuencia_Relativa
## 1 [1.32e+04,1.55e+04) 22 22 0.076
## 2 [1.55e+04,1.78e+04) 28 50 0.097
## 3 [1.78e+04,2.01e+04) 45 95 0.155
## 4 [2.01e+04,2.24e+04) 43 138 0.148
## 5 [2.24e+04,2.48e+04) 48 186 0.166
## 6 [2.48e+04,2.71e+04) 44 230 0.152
## 7 [2.71e+04,2.94e+04) 43 273 0.148
## 8 [2.94e+04,3.17e+04] 17 290 0.059
## Frecuencia_Relativa_Acumulada
## 1 0.076
## 2 0.173
## 3 0.328
## 4 0.476
## 5 0.642
## 6 0.794
## 7 0.942
## 8 1.001
View(tabla_freq)
cat("La tabla de frecuencias muestra cómo se distribuyen los precios del almuerzo en intervalos: se observa en qué rangos se concentra la mayoría de los valores y cómo aumenta la frecuencia acumulada, permitiendo identificar si los precios están agrupados, dispersos o presentan posibles sesgos.")## La tabla de frecuencias muestra cómo se distribuyen los precios del almuerzo en intervalos: se observa en qué rangos se concentra la mayoría de los valores y cómo aumenta la frecuencia acumulada, permitiendo identificar si los precios están agrupados, dispersos o presentan posibles sesgos.
Punto 4
tabla_contingencia <- table(muestra_290 $V4_Atencion_cat, muestra_290 $V1_SitioZona)
tabla_contingencia##
## Zona Centro Zona Norte Zona Sur
## Buena 45 26 22
## Excelente 21 22 16
## Mala 29 13 13
## Regular 39 26 18
prop_por_fila <- prop.table(tabla_contingencia, margin = 1) # proporciones por fila
round(prop_por_fila, 3)##
## Zona Centro Zona Norte Zona Sur
## Buena 0.484 0.280 0.237
## Excelente 0.356 0.373 0.271
## Mala 0.527 0.236 0.236
## Regular 0.470 0.313 0.217
Punto 5
ingresos_por_sexo <- muestra_290 %>%
group_by(V15_Sexo) %>%
summarise(
n = sum(!is.na(V11_Ingresos)),
media_ingresos = mean(V11_Ingresos, na.rm = TRUE),
sd_ingresos = sd(V11_Ingresos, na.rm = TRUE),
cv = sd_ingresos / media_ingresos
)
print(ingresos_por_sexo)## # A tibble: 2 × 5
## V15_Sexo n media_ingresos sd_ingresos cv
## <chr> <int> <dbl> <dbl> <dbl>
## 1 Femenino 159 3956181. 2723158. 0.688
## 2 Masculino 131 3572352. 2498120. 0.699
SECCIÓN B: GRÁFICOS
(6)
library(e1071)
numericas <- muestra_290 %>% select(where(is.numeric))
numericas <- numericas %>% select(-ID)
print("Variables numéricas utilizadas:")## [1] "Variables numéricas utilizadas:"
## [1] "V2_TiempoConoce_meses" "V5_Atencion_1a4" "V6_VisitasSemana"
## [4] "V7_PrecioAlmuerzo" "V8_CompanerosAlmuerzo" "V9_Edad"
## [7] "V11_Ingresos" "V12_Gastos" "V13_PesoKg"
## [10] "V14_EstaturaCm"
for (col in names(numericas)) {
variable <- numericas[[col]]
cat("\n-------------------------------------------------------------\n")
cat("Variable:", col, "\n")
cat("Asimetría:", skewness(variable, na.rm = TRUE), "\n")
cat("Curtosis:", kurtosis(variable, na.rm = TRUE), "\n")
cat("-------------------------------------------------------------\n")
print(
ggplot(numericas, aes(x = .data[[col]])) +
geom_histogram(aes(y = ..density..), bins = 20,
fill = "gold", color = "black") +
geom_density(color = "blue", size = 1) +
ggtitle(paste("Histograma y Densidad de", col))
)
}##
## -------------------------------------------------------------
## Variable: V2_TiempoConoce_meses
## Asimetría: 1.682065
## Curtosis: 3.887833
## -------------------------------------------------------------
##
## -------------------------------------------------------------
## Variable: V5_Atencion_1a4
## Asimetría: -0.06326795
## Curtosis: -1.117882
## -------------------------------------------------------------
##
## -------------------------------------------------------------
## Variable: V6_VisitasSemana
## Asimetría: 0.7748562
## Curtosis: 0.47054
## -------------------------------------------------------------
##
## -------------------------------------------------------------
## Variable: V7_PrecioAlmuerzo
## Asimetría: -0.04014105
## Curtosis: -1.035454
## -------------------------------------------------------------
##
## -------------------------------------------------------------
## Variable: V8_CompanerosAlmuerzo
## Asimetría: 0.5868898
## Curtosis: -0.4073709
## -------------------------------------------------------------
##
## -------------------------------------------------------------
## Variable: V9_Edad
## Asimetría: 0.529299
## Curtosis: -0.06673003
## -------------------------------------------------------------
##
## -------------------------------------------------------------
## Variable: V11_Ingresos
## Asimetría: 2.001392
## Curtosis: 4.865776
## -------------------------------------------------------------
##
## -------------------------------------------------------------
## Variable: V12_Gastos
## Asimetría: 2.284432
## Curtosis: 7.591873
## -------------------------------------------------------------
##
## -------------------------------------------------------------
## Variable: V13_PesoKg
## Asimetría: 0.04523087
## Curtosis: -0.3792265
## -------------------------------------------------------------
##
## -------------------------------------------------------------
## Variable: V14_EstaturaCm
## Asimetría: 0.2039556
## Curtosis: -0.6497969
## -------------------------------------------------------------
(7)
library(reshape2)
numericas <- muestra_290[vars_cuant]
numericas_std <- as.data.frame(scale(numericas))
melted_std <- melt(numericas_std)
ggplot(melted_std, aes(x = variable, y = value)) +
geom_boxplot(fill = "grey", color = "black") +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
ggtitle("Boxplots comparativos (Variables estandarizadas Z-score)")(8)
library(gridExtra)
qq_ingresos <- ggplot(muestra_290, aes(sample = V11_Ingresos)) +
stat_qq() + stat_qq_line(color = "purple") +
ggtitle("QQ-Plot de V11_Ingresos")
qq_edad <- ggplot(muestra_290, aes(sample = V9_Edad)) +
stat_qq() + stat_qq_line(color = "purple") +
ggtitle("QQ-Plot de V9_Edad")
grid.arrange(qq_ingresos, qq_edad, ncol = 2)SECCIÓN C: PROBABILIDAD Y CONTEO
(9)
n_centro <- sum(muestra_290 $V1_SitioZona == "Zona Centro")
n_otros <- sum(muestra_290 $V1_SitioZona != "Zona Centro")
formas <- choose(n_centro, 2) * choose(n_otros, 3)
formas## [1] 5530344820
(10)
num <- sum(muestra_290$V3_Recomienda == "Sí" & muestra_290$V5_Atencion_1a4 >= 4)
den <- sum(muestra_290$V5_Atencion_1a4 >= 4)
prob_condicional <- num / den
prob_condicional## [1] 0.6101695
(11)
num <- sum(muestra_290$V1_SitioZona=="Zona Norte"& muestra_290$V3_Recomienda == "Sí")
den <- sum(muestra_290 $V3_Recomienda == "Sí")
prob_bayes <- num / den
prob_bayes## [1] 0.2635659
(12)
p <- mean(muestra_290 $V3_Recomienda == "Sí") # proporción muestral
prob_binom <- 1 - pbinom(7, size = 10, prob = p)
prob_binom## [1] 0.02535099
(13)
lambda_sur <- mean(muestra_290$V6_VisitasSemana[muestra_290$V1_SitioZona == "Zona Sur"])
prob_pois <- 1 - ppois(3, lambda_sur) # P(X >= 4)
prob_pois## [1] 0.5805572
(14)
N <- 1200
K <- sum(datos$V4_Atencion_cat == "Excelente")
n <- 20
k <- 6
prob_hiper <- dhyper(k, K, N-K, n)
prob_hiper## [1] 0.1103612
(15)
mu <- mean(muestra_290 $V7_PrecioAlmuerzo)
sigma <- sd(muestra_290 $V7_PrecioAlmuerzo)
prob_normal <- pnorm(24000, mu, sigma) - pnorm(20000, mu, sigma)
prob_normal## [1] 0.333903
(16)
lambda <- mean(muestra_290 $V6_VisitasSemana) / 7 # tasa por día
prob_exp <- exp(-lambda * 10)
prob_exp## [1] 0.01417667
Sección D Intervalos de confianza y pruebas de hipótesis
17) Calcule e interprete un Intervalo de Confianza IC del 95% para la media de V7_PrecioAlmuerzo
attach(muestra_290)
precioalmuerzo <- muestra_290$V7_PrecioAlmuerzo
#prueba de normalidad
library(nortest)
lillie.test( x = precioalmuerzo)##
## Lilliefors (Kolmogorov-Smirnov) normality test
##
## data: precioalmuerzo
## D = 0.061962, p-value = 0.009161
##
## Cramer-von Mises normality test
##
## data: precioalmuerzo
## W = 0.28117, p-value = 0.0005446
#Aunque en ambas pruebas se evidencia que los muestra_290 no siguen una distribución normal por ser el p-value menor a 0.10, igual se procede con la prueba T.Test porque la muestra es de 290 muestra_290
respuesta17<- t.test(x=precioalmuerzo, conf.level=0.95)$conf.int
respuesta17## [1] 22020.83 23084.51
## attr(,"conf.level")
## [1] 0.95
cat("Con una confianza del 95% se estima que el promedio del precio del almuerzo está entre", respuesta17)## Con una confianza del 95% se estima que el promedio del precio del almuerzo está entre 22020.83 23084.51
18) IC 95% para la proporción de quienes recomiendan (V3_Recomienda=‘Si’).
attach(muestra_290)
reco <- muestra_290$V3_Recomienda
n_si <- sum(reco == "Si")
respuesta18<- prop.test(x=n_si, n=290, conf.level=0.95)$conf.int
respuesta18## [1] 0.00000000 0.01629641
## attr(,"conf.level")
## [1] 0.95
cat("Con una confianza del 95% la proporcion de quienes recomiendan Si está entre el 38,7% y el 50,4%")## Con una confianza del 95% la proporcion de quienes recomiendan Si está entre el 38,7% y el 50,4%
19) IC 95% para la varianza de V11_Ingresos
##
## Lilliefors (Kolmogorov-Smirnov) normality test
##
## data: ing
## D = 0.19238, p-value < 2.2e-16
##
## Anderson-Darling normality test
##
## data: ing
## A = 15.853, p-value < 2.2e-16
cat ("El test de Lilliefors (p < 2.2e−16) y el test de Anderson–Darling (p < 2.2e−16) indican que los ingresos no siguen una distribución normal. Por lo tanto, no se cumple el supuesto de normalidad requerido para los intervalos de confianza basados en la distribución chi-cuadrado.")## El test de Lilliefors (p < 2.2e−16) y el test de Anderson–Darling (p < 2.2e−16) indican que los ingresos no siguen una distribución normal. Por lo tanto, no se cumple el supuesto de normalidad requerido para los intervalos de confianza basados en la distribución chi-cuadrado.
20) Prueba t (dos colas) para H0: media Precio = 22000. (No olvide plantear todos los pasos)
\[ \small H_0: \mu \space precio= 22000\\ \small H_1: \mu \space precio \neq 22000\\ \]
attach(muestra_290)
muestra <- muestra_290$V7_PrecioAlmuerzo
# Ahora se usará t.test para desarrollar la prueba de hipótesis
resp20 <- t.test(muestra, alternative='two.sided', conf.level=0.95, mu=22000)
resp20##
## One Sample t-test
##
## data: muestra
## t = 2.0453, df = 289, p-value = 0.04173
## alternative hypothesis: true mean is not equal to 22000
## 95 percent confidence interval:
## 22020.83 23084.51
## sample estimates:
## mean of x
## 22552.67
cat("
El estadístico que arroja la prueba es t = 2.0453
Los grados de libertad que arroja la prueba es df = 289, es decir que la muestra tiene 290 muestra_290.
Como el p~value es 0.03, se rechaza la hipótesis nula")##
## El estadístico que arroja la prueba es t = 2.0453
## Los grados de libertad que arroja la prueba es df = 289, es decir que la muestra tiene 290 muestra_290.
## Como el p~value es 0.03, se rechaza la hipótesis nula
21) Chi-cuadrado de independencia entre V4_Atencion_cat y V1_SitioZona.
##
## Zona Centro Zona Norte Zona Sur
## Buena 45 26 22
## Excelente 21 22 16
## Mala 29 13 13
## Regular 39 26 18
##
## Pearson's Chi-squared test
##
## data: tabla21
## X-squared = 4.4464, df = 6, p-value = 0.6165
cat ("Con un p-value de 0.6165 (>0.05), no se rechaza la hipótesis nula de independencia entre V4_Atención_cat y V1_SitioZona. Esto quiere decir que no existe una asociación significativa entre la zona y la atención. Es decir, la percepción de atención es similar en todas las zonas.")## Con un p-value de 0.6165 (>0.05), no se rechaza la hipótesis nula de independencia entre V4_Atención_cat y V1_SitioZona. Esto quiere decir que no existe una asociación significativa entre la zona y la atención. Es decir, la percepción de atención es similar en todas las zonas.
22) Prueba de bondad de ajuste: ¿Precio sigue una distribución normal? (usar como estadística Kolmogorov- Smirnov vs Shapiro-wilk en submuestra).
##
## Shapiro-Wilk normality test
##
## data: precio
## W = 0.97288, p-value = 2.667e-05
##
## Lilliefors (Kolmogorov-Smirnov) normality test
##
## data: precio
## D = 0.061962, p-value = 0.009161
cat("Según ambas pruebas de Kolmogorov- Smirnov vs Shapiro-wilk, donde la primera tiene como valor p 0.009 y la segunda un valor p de 0.00002667, se evidencia que la distribución del precio no es normal")## Según ambas pruebas de Kolmogorov- Smirnov vs Shapiro-wilk, donde la primera tiene como valor p 0.009 y la segunda un valor p de 0.00002667, se evidencia que la distribución del precio no es normal
SECCIÓN E: REGRESIÓN Y ASOCIACIÓN
(23)
##
## Call:
## lm(formula = V7_PrecioAlmuerzo ~ V9_Edad, data = muestra_290)
##
## Residuals:
## Min 1Q Median 3Q Max
## -9242.7 -3894.2 283.5 4012.8 9055.0
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 22023.03 1020.23 21.586 <2e-16 ***
## V9_Edad 14.14 26.25 0.538 0.591
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 4607 on 288 degrees of freedom
## Multiple R-squared: 0.001006, Adjusted R-squared: -0.002463
## F-statistic: 0.2899 on 1 and 288 DF, p-value: 0.5907
# Coeficiente de correlación de Pearson
cor_precio_edad <- cor(
muestra_290 $V7_PrecioAlmuerzo,
muestra_290 $V9_Edad,
use = "complete.obs"
)
cor_precio_edad## [1] 0.03171036
## [1] 0.001005547
(24)
modelo_multiple <- lm(
V7_PrecioAlmuerzo ~ V9_Edad + V11_Ingresos + V6_VisitasSemana,
data = muestra_290
)
summary(modelo_multiple)##
## Call:
## lm(formula = V7_PrecioAlmuerzo ~ V9_Edad + V11_Ingresos + V6_VisitasSemana,
## data = muestra_290)
##
## Residuals:
## Min 1Q Median 3Q Max
## -9547.1 -3388.9 134.3 3018.2 10539.3
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.193e+04 1.006e+03 21.804 < 2e-16 ***
## V9_Edad 8.002e+00 2.294e+01 0.349 0.727
## V11_Ingresos 6.689e-04 9.017e-05 7.418 1.36e-12 ***
## V6_VisitasSemana -7.393e+02 1.252e+02 -5.906 9.90e-09 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 4018 on 286 degrees of freedom
## Multiple R-squared: 0.2453, Adjusted R-squared: 0.2374
## F-statistic: 30.99 on 3 and 286 DF, p-value: < 2.2e-16
## [1] 0.2453435
## [1] 0.2374276
(25)
cor_ing_gasto <- cor(
muestra_290 $V11_Ingresos,
muestra_290 $V12_Gastos,
use = "complete.obs"
)
cor_ing_gasto## [1] 0.9389095
cor_test_ing_gasto <- cor.test(
muestra_290 $V11_Ingresos,
muestra_290 $V12_Gastos,
use = "complete.obs"
)
cor_test_ing_gasto##
## Pearson's product-moment correlation
##
## data: muestra_290$V11_Ingresos and muestra_290$V12_Gastos
## t = 46.297, df = 288, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.9236123 0.9512210
## sample estimates:
## cor
## 0.9389095
SECCIÓN F: ANÁLISIS DE VARIANZA
(26)
## Df Sum Sq Mean Sq F value Pr(>F)
## V1_SitioZona 2 4.719e+09 2.359e+09 483.3 <2e-16 ***
## Residuals 287 1.401e+09 4.881e+06
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# ANOVA de dos vías
anova_dosvias <- aov(
V7_PrecioAlmuerzo ~ V1_SitioZona * V4_Atencion_cat,
data = muestra_290
)
summary(anova_dosvias)## Df Sum Sq Mean Sq F value Pr(>F)
## V1_SitioZona 2 4.719e+09 2.359e+09 493.877 <2e-16 ***
## V4_Atencion_cat 3 4.562e+07 1.521e+07 3.183 0.0244 *
## V1_SitioZona:V4_Atencion_cat 6 2.730e+07 4.550e+06 0.952 0.4579
## Residuals 278 1.328e+09 4.777e+06
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1