<jupyter_start><jupyter_text>Tablas de contingencia<jupyter_code>datos <-c('D','F', NA, 'F', 'F', 'F', 'F', 'D', 'M', 'M', 'M',NA)

# <NAME>
# <NAME>
# <NAME>

table(datos)
# De la tabla anterior vemos que NO aparece el conteo de los NA, para obtenerlo usamos lo siguiente.


table(datos, useNA='always')
table(datos, exclude=c('D'))

filtro <- table(datos, exclude=c('D', NA))
filtro
table(datos)["M"]

table(datos)["F"]

table(datos)["D"]

sum(table(datos))
edad <-c('10','39', NA, '32', '54', '54', '14', '21', '56', '67', '56',NA)


# tabla de frecuencias absolutas para ver cómo se relaciona 
# el edad con datos del ejemplo anterior.

table(edad, datos)


tablaFrecuencias <- table(edad, datos)
tablaFrecuencias<jupyter_output><empty_output><jupyter_text>Frecuencias relativas $$ f_{ij} = \frac{n_{ij}}{n} $$$$n_{ij} $$es la frecuencia absoluta de la fila i y la columna j.   Función prop.tableLa función prop.table se utiliza para crear tablas de frecuencia relativa a partir de tablas de frecuencia absoluta, la estructura de la función se muestra a continuación.<jupyter_code>prop.table(x=tablaFrecuencias, margin=NULL)
prop.table(table(datos))
100*prop.table(table(datos))
table(datos)/length(datos)
names(which(table(datos)==3))

moda <- function(d){
  names(which(table(d)==max(table(d))))
}

valor_moda = moda(datos)<jupyter_output><empty_output><jupyter_text>$$Mo = Li+\frac{f_{i}-f_{i-1}}{(f_{i}-f_{i-1})+(f_{i}-f_{i+1})}*c\\$$$$L_i$$ : límite inferior del intervalo clase modal$$f_i $$ : frecuencia absoluta del intervalo modal$$f_{i-1}$$ : frecuencia absoluta del intervalo anterior al modal$$f_{i+1}$$ : frecuencia absoluta del intervalo siguiente al modal$$c$$ : amplitud del intervalo modal<jupyter_code>x<-paste("La moda es : ",valor_moda)
x<jupyter_output><empty_output><jupyter_text>Función addmarginsEsta función se puede utilizar para agregar los totales por filas o por columnas a una tabla de frecuencia absoluta o relativa. La estructura de la función es la siguiente.<jupyter_code>addmargins(A=tablaFrecuencias)
addmargins(A=tablaFrecuencias,margin=1)
addmargins(A=tablaFrecuencias,margin=2)
tabla_FR<-prop.table(x=tablaFrecuencias, margin=NULL)


# La suma de todas las frecuencias relativas es igual a 1<jupyter_output><empty_output><jupyter_text>$$\sum^c_{i=1}\sum^{r}_{j=1}\,f_{ij} = 1$$<jupyter_code>sum(tabla_FR)<jupyter_output><empty_output><jupyter_text>Frecuencias marginales<jupyter_code>filas_marginals <- margin.table(tablaFrecuencias, 1)
filas_marginals
columnas_marginals <- margin.table(tablaFrecuencias, 2)
columnas_marginals<jupyter_output><empty_output><jupyter_text>Frecuencias relativas marginalesTambién podemos calcular Frecuencias relativas marginales, dividiendo las frecuencias marginales entre el tamaño de la muestra o sumando las frecuencias relativas por filas o columnas:<jupyter_code>filas_rel_marginales <- margin.table(tabla_FR, 1)
filas_rel_marginales
columnas_rel_marginales <- margin.table(tabla_FR, 2)
columnas_rel_marginales<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.14068189341277723, 'fraction_numerical': 0.012909632571996028, 'mean_word_length': 7.734104046242774, 'pattern_counts': {'":': 0, '<': 43, '<?xml version=': 0, '>': 32, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '7', 'dir': 'jupyter-structured-clean-dedup', 'id': '516758', 'license': 'BSD-3-Clause', 'n_tokens_mistral': 1233, 'n_tokens_neox': 1219, 'n_words': 256, 'path': 'contenido/Tablas de contingencia.ipynb', 'repo_name': 'arielsan99/Estadistica_basica', 'size': '3037'}