File size: 16,674 Bytes
6fa3119
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217



#Funcion que crea un data frame con todos los elementos de 
#la prueba de hip�tesis de la igualdad de dos varianzas poblacionales
ph_igual_varianzas <- function(var_cuant, var_cual, nivel_de_significancia,tipo_de_prueba){
        grados_de_libertad_num <- tapply(var_cuant, var_cual, length)[1]-1
        grados_de_libertad_den <- tapply(var_cuant, var_cual, length)[2]-1
        nivel_de_significancia <- 1 - nivel_de_significancia
        
        if(tipo_de_prueba == "two.sided"){
                
                #Lado izquierdo y lado de recho donde inician las zonas de rechazo de la hipotesis nula
                lado_der <- qf(1-(nivel_de_significancia/2), grados_de_libertad_num, grados_de_libertad_den)
                lado_izq <- qf(nivel_de_significancia/2, grados_de_libertad_num, grados_de_libertad_den)
                
                #Varianza muestral grupo 1
                var1 <- tapply(var_cuant, var_cual, var)[1]
                
                #Varianza muestral grupo 2
                var2 <- tapply(var_cuant, var_cual, var)[2]
                
                #Estadistico de prueba
                ep <- var1/var2
                
                #Valor P
                ValorP <- if(pf(ep,grados_de_libertad_num,grados_de_libertad_den) <= pf(ep,grados_de_libertad_num,grados_de_libertad_den,lower.tail = FALSE)){
                        pf(ep,grados_de_libertad_num,grados_de_libertad_den)*2 #Valor P
                }else{
                        pf(ep,grados_de_libertad_num,grados_de_libertad_den,lower.tail = FALSE)*2 #Valor P
                }
                
                #Data frame que se imprime en el aplicativo
                bd <- data.frame(Resultados=c("Varianza muestral del numerador",
                                              "Varianza muestral del denominador",
                                              "Estadistico de prueba (EP)",
                                              "Nivel de significancia",
                                              "Grados de libertad del numerador",
                                              "Grados de libertad del denominador",
                                              "Valor P",
                                              "Regiones criticas de rechazo de hipotesis nula",
                                              "Conclusion con el valor P",
                                              "Conclusion con la region de rechazo")
                                 ,
                                 Valores=c(as.character(var1),
                                           as.character(var2),
                                           as.character(round(ep,8)),
                                           as.character(nivel_de_significancia),
                                           as.character(grados_de_libertad_num),
                                           as.character(grados_de_libertad_den),
                                           as.character(ValorP),
                                           paste("EP <= ",as.character(round(lado_izq,4)),
                                                 "o",
                                                 "EP >= ", as.character(round(lado_der,4)),
                                                 sep = "  "),
                                           if(ValorP <= nivel_de_significancia){
                                                   paste("El estadistico de prueba es igual a", round(ep,8),
                                                         "con un valor p igual a", ValorP,
                                                         "Como el valor p es inferior o igual a", nivel_de_significancia,
                                                         "(nivel de significancia), entonces se rechaza la hipotesis nula en favor de la hipotesis

                                                         alternativa.")
                                           }else{
                                                   paste("El estadistico de prueba es igual a", round(ep,8),
                                                         "con un valor p igual a", ValorP,
                                                         "Como el valor es mayor a",nivel_de_significancia,
                                                         "(nivel de significancia), entonces se concluye que los datos no son suficientes para

                                                         rechazar la hipotesis nula.")
                                           },
                                           if(ep <= lado_izq |
                                              ep >= lado_der){
                                                   paste("El estadistico de prueba es igual a", round(ep,8),
                                                         ". Como el estadistico de prueba se encuentra

                              dentro de la region critica de rechazo entonces se rechaza

                              la hipotesis nula en favor de la hipotesis alternativa.")
                                           }else{
                                                   paste("El estadistico de prueba es igual a", round(ep,8),
                                                         ". Como el estadistico de prueba se encuentra fuera

                              de la region critica de rechazo entonces se concluye que

                              los datos no son suficientes para rechazar la hipotesis nula.")
                                           }
                                 ))
                bd
                
        }else{
                if(tipo_de_prueba == "less"){
                        
                        #Lado izquierdo  donde inicia la zona de rechazo de la hipotesis nula
                        lado_izq <- qf(nivel_de_significancia, grados_de_libertad_num, grados_de_libertad_den)
                        
                        #Varianza muestral grupo 1
                        var1 <- tapply(var_cuant, var_cual, var)[1]
                        
                        #Varianza muestral grupo 2
                        var2 <- tapply(var_cuant, var_cual, var)[2]
                        
                        #Estadistico de prueba
                        ep <- var1/var2
                        
                        #Valor P
                        ValorP <- pf(ep, grados_de_libertad_num, grados_de_libertad_den)
                        
                        #Data frame que se imprime en el aplicativo
                        bd <- data.frame(Resultados=c("Varianza muestral del numerador",
                                                      "Varianza muestral del denominador",
                                                      "Estadistico de prueba (EP)",
                                                      "Nivel de significancia",
                                                      "Grados libertad numerador",
                                                      "Grados libertad denominador",
                                                      "Valor P",
                                                      "Region critica de rechazo de hipotesis nula",
                                                      "Conclusion con el valor P",
                                                      "Conclusion con la region de rechazo")
                                         ,
                                         Valores=c(as.character(var1),
                                                   as.character(var2),
                                                   as.character(round(ep,8)),
                                                   as.character(nivel_de_significancia),
                                                   as.character(grados_de_libertad_num),
                                                   as.character(grados_de_libertad_den),
                                                   as.character(ValorP),
                                                   paste("EP <= ",as.character(round(lado_izq,4))),
                                                   if(ValorP <= nivel_de_significancia){
                                                           paste("El estadistico de prueba es igual a", round(ep,8),
                                                                 "con un valor p igual a", ValorP,
                                                                 "Como el valor p es inferior o igual a", nivel_de_significancia,
                                                                 "(nivel de significancia), entonces se rechaza la hipotesis nula en favor de la hipotesis

                                                                 alternativa.")
                                                   }else{
                                                           paste("El estadistico de prueba es igual a", round(ep,8),
                                                                 "con un valor p igual a", ValorP,
                                                                 "Como el valor es mayor a", nivel_de_significancia,
                                                                 "(nivel de significancia), entonces se concluye que los datos no son suficientes para

                                                                 rechazar la hipotesis nula.")
                                                   },
                                                   if(ep <= lado_izq){
                                                           paste("El estadistico de prueba es igual a", round(ep,8),
                                                                 ". Como el estadistico de prueba se encuentra

                                                                 dentro de la region critica de rechazo entonces se rechaza

                                                                 la hipotesis nula en favor de la hipotesis alternativa.")
                                                   }else{
                                                           paste("El estadistico de prueba es igual a", round(ep,8),
                                                                 ". Como el estadistico de prueba se encuentra fuera

                                                                 de la region critica de rechazo entonces se concluye que

                                                                 los datos no son suficientes para rechazar la hipotesis nula.")
                                                   }
                                         ))
                        bd
                        
                }else{
                        if(tipo_de_prueba == "greater"){
                                
                                #Lado derecho donde inician las zonas de rechazo de la hipotesis nula
                                lado_der <- qf(1-nivel_de_significancia, grados_de_libertad_num, grados_de_libertad_den)
                                
                                #Varianza muestral del numerador
                                var1 <- tapply(var_cuant, var_cual, var)[1]
                                
                                #Varianza muestral del denominador
                                var2 <- tapply(var_cuant, var_cual, var)[2]
                                
                                #Estadistico de prueba
                                ep <- var1/var2
                                
                                #Valor P
                                ValorP <- pf(ep,grados_de_libertad_num,grados_de_libertad_den,lower.tail = FALSE)
                                
                                #Data frame que se imprime en el aplicativo
                                bd <- data.frame(Resultados=c("Varianza muestral del numerador",
                                                              "Varianza muestral del denominador",
                                                              "Estadistico de prueba (EP)",
                                                              "Nivel de significancia",
                                                              "Grados de libertad del numerador",
                                                              "Grados de libertad del denominador",
                                                              "Valor P",
                                                              "Region critica de rechazo de hipotesis nula",
                                                              "Conclusion con el valor P",
                                                              "Conclusion con la region de rechazo")
                                                 ,
                                                 Valores=c(as.character(var1),
                                                           as.character(var2),
                                                           as.character(round(ep,8)),
                                                           as.character(nivel_de_significancia),
                                                           as.character(grados_de_libertad_num),
                                                           as.character(grados_de_libertad_den),
                                                           as.character(ValorP),
                                                           paste("EP >= ", as.character(round(lado_der,4)),
                                                                 sep = "  "),
                                                           if(ValorP <= nivel_de_significancia){
                                                                   paste("El estadistico de prueba es igual a", round(ep,8),
                                                                         "con un valor p igual a", ValorP,
                                                                         "Como el valor p es inferior o igual a", nivel_de_significancia,
                                                                         "(nivel de significancia), entonces se rechaza la hipotesis nula en favor de la hipotesis

                                                                         alternativa.")
                                                           }else{
                                                                   paste("El estadistico de prueba es igual a", round(ep,8),
                                                                         "con un valor p igual a", ValorP,
                                                                         "Como el valor es mayor a",nivel_de_significancia,
                                                                         "(nivel de significancia), entonces se concluye que los datos no son suficientes para

                                                                         rechazar la hipotesis nula.")
                                                           },
                                                           if(ep >= lado_der){
                                                                   paste("El estadistico de prueba es igual a", round(ep,8),
                                                                         ". Como el estadistico de prueba se encuentra

                                                                         dentro de la region critica de rechazo entonces se rechaza

                                                                         la hipotesis nula en favor de la hipotesis alternativa.")
                                                           }else{
                                                                   paste("El estadistico de prueba es igual a", round(ep,8),
                                                                         ". Como el estadistico de prueba se encuentra fuera

                                                                         de la region critica de rechazo entonces se concluye que

                                                                         los datos no son suficientes para rechazar la hipotesis nula.")
                                                           }
                                                 ))
                                bd
                }
        }
        }
}