Supongamos que tenemos una tabla con observaciones de dos factores:

como, por ejemplo, la de este fichero

Vamos a utilizar este ejemplo para fabricar una tabla de contingencia de esos dos factores.

Después de descargar el fichero a tu carpeta datos y explorarlo con un editor de texto, puedes usar

dosFactores = read.table("datos/dosFactores.csv", header = TRUE, sep=",")

para leerlo con R.

Una vez leído, la tabla se obtiene muy fácilmente:

(tablaCont = table(dosFactores$A, dosFactores$B))
##     
##      B1 B2 B3
##   A1 23 20 19
##   A2 15 13 16
##   A3 17 16 15
##   A4 11 18 17

Si quieres añadir las sumas de filas y columnas puedes usar:

(tablaCont = addmargins(tablaCont))
##      
##        B1  B2  B3 Sum
##   A1   23  20  19  62
##   A2   15  13  16  44
##   A3   17  16  15  48
##   A4   11  18  17  46
##   Sum  66  67  67 200

Puedes usar comment=NA en el preámbulo de ese bloque de código para eliminar los símbolos #.

Y para representar gráficamente esas tablas se usan los llamados gráficos de mosaico:

mosaicplot(table(dosFactores), col="tan", main="Tabla de contingencia A vs B")