Muestreo

Actividad: Crear una muestra de 100 personas que dicen establezcan la ocupacion y estado civil

x<-c('desocupado','estudia','trabaja')
ocupacion<-sample(x,100,replace=TRUE,prob=NULL)
y<-c('casado','soltero','divorciado','viudo')
estado<-sample(y,100,replace=TRUE,prob=NULL)

ahora formaremos la tabla de las dos categorias.

categoria<-data.frame(ocupacion,estado);categoria
     ocupacion     estado
1      estudia divorciado
2      trabaja      viudo
3      trabaja     casado
4      estudia    soltero
5   desocupado    soltero
6      trabaja      viudo
7   desocupado      viudo
8      trabaja     casado
9   desocupado     casado
10     trabaja    soltero
11     estudia divorciado
12  desocupado     casado
13     estudia    soltero
14  desocupado    soltero
15     estudia divorciado
16     estudia    soltero
17  desocupado    soltero
18  desocupado    soltero
19     trabaja      viudo
20     trabaja      viudo
21  desocupado divorciado
22  desocupado    soltero
23  desocupado    soltero
24     estudia      viudo
25     estudia     casado
26     trabaja divorciado
27     estudia      viudo
28     trabaja    soltero
29  desocupado    soltero
30  desocupado divorciado
31     trabaja    soltero
32     estudia     casado
33     estudia    soltero
34     estudia     casado
35     estudia     casado
36     estudia    soltero
37     estudia divorciado
38  desocupado      viudo
39  desocupado      viudo
40     trabaja      viudo
41     estudia     casado
42  desocupado    soltero
43  desocupado divorciado
44     trabaja divorciado
45  desocupado      viudo
46     trabaja      viudo
47     estudia     casado
48     estudia     casado
49  desocupado    soltero
50  desocupado    soltero
51     estudia     casado
52     trabaja divorciado
53     estudia      viudo
54     estudia     casado
55     trabaja      viudo
56  desocupado      viudo
57     estudia      viudo
58     trabaja      viudo
59     trabaja      viudo
60     estudia    soltero
61  desocupado divorciado
62     trabaja    soltero
63     estudia     casado
64     trabaja    soltero
65     estudia      viudo
66     estudia divorciado
67     estudia      viudo
68     trabaja      viudo
69     trabaja    soltero
70     trabaja     casado
71     estudia      viudo
72     estudia     casado
73     trabaja divorciado
74     estudia      viudo
75     trabaja    soltero
76     trabaja     casado
77  desocupado    soltero
78     trabaja    soltero
79     estudia divorciado
80     estudia    soltero
81     estudia divorciado
82     trabaja    soltero
83     estudia    soltero
84     trabaja    soltero
85     trabaja    soltero
86     estudia      viudo
87     trabaja      viudo
88     estudia      viudo
89     trabaja     casado
90  desocupado divorciado
91  desocupado divorciado
92  desocupado     casado
93  desocupado     casado
94  desocupado    soltero
95     estudia divorciado
96     estudia     casado
97     estudia      viudo
98     estudia     casado
99  desocupado divorciado
100 desocupado divorciado

Crearemos la tabla de doble entrada

tablacat<-table(categoria);tablacat
            estado
ocupacion    casado divorciado soltero viudo
  desocupado      4          8      12     5
  estudia        13          8       8    11
  trabaja         5          4      11    11
# Distribución marginal de X=Estado civil
 suma.filas <- apply(tablacat, 1, sum); suma.filas
desocupado    estudia    trabaja 
        29         40         31 
# El 1 indica que son totales por fila 
# Encuentra la suma de cada fila de la tabla de contingencia
# distribución marginal de Y=Ocupación
suma.columnas <- apply(tablacat,2,sum); suma.columnas
    casado divorciado    soltero      viudo 
        22         20         31         27 
# 2 indica que son totales por columna 
# Gráficos de barras para tabla de contingencia.
# Barras apiladas
 barplot(t(tablacat), main="Gráfico de barras (Estado, Ocupación)", xlab="Estado civil",
ylab="Ocupación", legend.text=TRUE,col=c('blue','red','yellow','purple'))

# Note que t(tablacat) indica que las barras representan el Estado civil de los encuestados y que éstas se subdividen en cada una de las diferentes ocupaciones consideradas.
# En caso de usar únicamente tablaCont; las barras representarán las diferentes ocupaciones y éstas estarán subdividas en cada uno de los estados civiles. 
# Barras agrupadas
 barplot(t(tablacat), main="Gráfico de barras (Estado, Ocupación)", xlab="Estado civil",
ylab="Ocupación", beside=TRUE, legend.text=TRUE)

# Note que la instrucción beside =TRUE, indica que por cada una de las diferentes ocupaciones se creará una barra para cada estado civil. Note que al usar beside =FALSE se obtiene el mismo gráfico de la instrucción anterior. 
 barplot(tablacat, main="Gráfico de barras (Ocupación, Estado)", xlab="Ocupación\n",
ylab="Estado civil", beside=TRUE, legend.text=TRUE) 

Calcula tablas de proporciones o de probabilidades.

 # Guardar las todas las opciones iniciales y modificar número de decimales
 op <- options()
 options(digits=3) # sólo imprime 3 lugares decimales
 options('digits') 
$digits
[1] 3
# Proporciones basadas en el total de la muestra, la suma de filas y columnas suman 1.
 propTotal <- prop.table(tablacat); propTotal
            estado
ocupacion    casado divorciado soltero viudo
  desocupado   0.04       0.08    0.12  0.05
  estudia      0.13       0.08    0.08  0.11
  trabaja      0.05       0.04    0.11  0.11
 barplot(t(propTotal), main="Gráfico de barras (Estado, Ocupación)", xlab="Estado civil\n", ylab="Ocupación", beside=TRUE, legend.text=TRUE) 

# Proporciones basadas en el total por fila, cada fila suma 1.
 propFila <- prop.table(tablacat, 1); propFila
            estado
ocupacion    casado divorciado soltero viudo
  desocupado  0.138      0.276   0.414 0.172
  estudia     0.325      0.200   0.200 0.275
  trabaja     0.161      0.129   0.355 0.355
# Total por fila se indica en 1
 barplot(t(propFila), main="Gráfico de barras (Estado, Ocupación)", xlab="Estado civil\n",
ylab="Ocupación", beside=TRUE, legend.text=TRUE)

# Proporciones basadas en el total por columna, cada columna suma 1.
 propColum <- prop.table(tablacat, 2); propColum
            estado
ocupacion    casado divorciado soltero viudo
  desocupado  0.182      0.400   0.387 0.185
  estudia     0.591      0.400   0.258 0.407
  trabaja     0.227      0.200   0.355 0.407
# Total por columna se indica en 2
 barplot(propColum, main="Gráfico de barras (Ocupación, Estado)", xlab="Ocupación\n",
ylab="Estado civil", beside=TRUE, legend.text=TRUE) 

Realizaremos el contraste chisq.test

prueba<-chisq.test(tablacat);prueba

    Pearson's Chi-squared test

data:  tablacat
X-squared = 10, df = 6, p-value = 0.1
prueba$expected # fij = fi./No. column 
            estado
ocupacion    casado divorciado soltero viudo
  desocupado   6.38        5.8    8.99  7.83
  estudia      8.80        8.0   12.40 10.80
  trabaja      6.82        6.2    9.61  8.37