首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建一个由4列和2对值组成的卡方表格,使其中一个为依赖项,另一个为独立项

创建一个由4列和2对值组成的卡方表格,使其中一个为依赖项,另一个为独立项
EN

Stack Overflow用户
提问于 2021-03-19 22:08:57
回答 2查看 38关注 0票数 0

我有一个列在下面的列表。

代码语言:javascript
复制
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,然后把它们想象成两列

代码语言:javascript
复制
Yes or No| B or W
       7       B
       9       B
       3       W
       2       W

现在我有了两个临时列,我可以运行一个chisquare来表明Yes或No依赖于B还是W

代码语言:javascript
复制
 test <- chisq.test(table(data$YesorNo, data$BorW)) 
EN

Stack Overflow用户

回答已采纳

发布于 2021-03-19 23:06:17

以下是Ricardo的另一个版本,其中大部分名称拆分和分隔是在pivot_longer函数中完成的:

代码语言:javascript
复制
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的精确测试作为替代。

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66709712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档