我进行了一项简单的调查,包括两个条件和十个问题,所有答案都是“是”或“否”。在R中,我有一个数据框,其中包含参与者ID,条件(1或2,作为因子),每个问题有10列(1或2表示“是”或“否”作为因子)。我想为每个参与者计算“是”或“否”的频率,所以我可以按条件进行卡方检验。但是我无法弄清楚如何让它给我参与者的“是”和“否”的计数。
我基本上想做tapply(数据$ question1,数据$ Participant,count),但不仅仅是“问题1”,而是所有10个问题。我该怎么做才能运行卡方?
答案 0 :(得分:0)
你很亲密......尝试这样的事情:
data(swiss)
swiss$Fertility <- ifelse(swiss$Fertility < mean(swiss$Fertility), "yes", "no")
apply(swiss[,2:6], 2, FUN = function(x) tapply(x, swiss$Fertility, NROW))
答案 1 :(得分:0)
我们可以使用table
table(df1[1][row(df1[-1])], unlist(df1[-1]))
set.seed(24)
df1 <- data.frame(ParticipantID= 1:5, matrix(sample(c('yes',
'no'), 5*10, replace=TRUE), ncol=10))