Я хочу выполнить chisq.test()
на каждом уровне категориальной переменной.Как применить Chisq.test на уровнях разных категориальных переменных?
В настоящее время мне удалось сделать это по каждой категориальной переменной, используя код ниже.
# Random generation of values for categorical data
set.seed(12)
x <- data.frame(col1 = sample(LETTERS[1:4], 100, replace=TRUE),
col2 = sample(LETTERS[3:6], 100, replace=TRUE),
col3 = sample(LETTERS[2:5], 100, replace=TRUE),
out = sample(c(1,2),100, replace=TRUE))
# performing chisq.test
pval <- as.data.frame(sapply(c(1:3),function(i)chisq.test(x[,i],x[,'out'])$p.value))
#output
p.value
1 0.33019256
2 0.08523487
3 0.79403367
Мне интересно сравнить уровни при разных результатах.
# for col1 levels different outcomes
table(x$col1,x$out)
#output
1 2
A 8 12
B 18 10
C 12 11
D 18 11
Например, чтобы сравнить уровень B в col1
различных результатов в 1,2 out
.
Я хотел бы знать, как это можно расширить (или другим умным способом) на каждый уровень категориальной переменной?
# Expected output
p.value
col1.A *****
col1.B *****
col1.C *****
.
.
.
col3.E *****
Благодарим за внимание.
Что вы имеете в виду? Как вы предлагаете делать «chisq.test» только на одном уровне фактора? – thelatemail
@thelatemail Я хочу сравнить каждый уровень для разных результатов. Я попытался привести пример, это имеет смысл? – Prradep
@NickK Даже мне было интересно, как подойти к этому, когда один из моих коллег обратился ко мне с вопросом из [этой статьи] (http://onlinelibrary.wiley.com/doi/10.1111/1471-0528.12195/epdf). В таблице 1 они сравнили разные уровни образования с заболеванием. Пожалуйста, исправьте меня, если мое понимание и вопрос, заданный здесь, не связаны. – Prradep