我有一个列在下面的列表。
col 1|col 2|col 3|col 4|col 5|Yes Col_B|No Col_B|Yes Col_W|No Col_W
1 1 3 3 5 7 9 3 2我想要做的是取最后四列,取Yes Col_B、No Col_B、Yes Col_W和No Col_W,然后把它们想象成两列
Yes or No| B or W
7 B
9 B
3 W
2 W现在我有了两个临时列,我可以运行一个chisquare来表明Yes或No依赖于B还是W
test <- chisq.test(table(data$YesorNo, data$BorW)) 发布于 2021-03-19 23:06:17
以下是Ricardo的另一个版本,其中大部分名称拆分和分隔是在pivot_longer函数中完成的:
df<-data.frame(`Yes Col_B`=7, `No Col_B`=9, `Yes Col_W`=3, `No Col_W`=2)
library(tidyr)
library(dplyr)
answer <- pivot_longer(df, contains("Col_"), names_sep = "_", names_to=c("Yes_No", ".value")) %>%
mutate(Yes_No=str_replace(Yes_No, "\\.Col", ""))
answer
## A tibble: 2 x 3
# Yes_No B W
# <chr> <dbl> <dbl>
#1 Yes 7 3
#2 No 9 8
chisq.test(answer[ , c("B", "W")])
#since counts are less than 5 suggest the Fisher's Exact Test
fisher.test(answer[ , c("B", "W")])卡^2测试通常每个类别至少需要5个成员进行分析,因此我将Fisher的精确测试作为替代。
https://stackoverflow.com/questions/66709712
复制相似问题