Вот способ вычислить таблицу сопряженности из двух категориальных переменных. В качестве иллюстрации я буду использовать sex
и height
(они структурно похожи на две переменные, которые есть в вашем фрейме данных x
):
Данные:
set.seed(300)
df <- data.frame(
Height = sample(c("tall", "very tall", "small", "very small"), 20, replace = T),
Sex = sample(c("m", "f"), 20, replace = T)
)
df
Height Sex
1 very tall f
2 very tall m
3 very tall m
4 tall f
5 very small m
6 tall f
7 tall m
8 very small f
9 small f
10 tall m
11 very small f
12 tall m
13 very small m
14 small f
15 very small m
16 small m
17 very small m
18 very small m
19 tall f
20 tall m
Сначала, как уже отмечалось в комментарии, табулируйте данные, используя table
:
tbl <- table(df$Sex, df$Height); tbl
small tall very small very tall
f 2 3 2 1
m 1 4 5 2
Затем вы можете определить первую строку tbl
как новый вектор female
и вторую строку as male
:
female <- tbl[1,]
male <- tbl[2,]
Наконец, вы связываете два в вектор counts
, который является вашей таблицей непредвиденных обстоятельств:
counts <- rbind(female, male)
counts
small tall very small very tall
female 2 3 2 1
male 1 4 5 2
На основе таблицы непредвиденных обстоятельств, которую вы можете запустить ваш тест, скорее всего, хи-квадрат:
test <- chisq.test(counts); test
Pearson's Chi-squared test
data: counts
X-squared = 1.3492, df = 3, p-value = 0.7175