R Chi方表格式

耶利耶利德詹戈

所以我有一些格式如下的数据:

header1    header2
"nocandy"  "nocandy"
"nocandy"  "nocandy"
"nocandy"  "nocandy"
"nocandy"    "candy"
"nocandy"    "candy"
"candy"    "candy"
etc...

我用导入了它,candytext <- read.table("candytest.txt", header=TRUE)我想进行卡方检验以查看两组之间是否存在差异。当我使用该函数时table(candytest),会得到如下信息:

         header2
header1   candy nocandy
  candy     112      39
  nocandy     4      82

但是,如果我跑步,summary(candytest)我会得到如下信息:

    header1       header2   
 candy  :151   candy  :116  
 nocandy: 86   nocandy:121 

如您所见,两个表的格式不同。但是,我可以在第一个表上运行卡方测试,但不能在第二个表上运行。但是,摘要表更像是我需要使用的表格chisq.test()第二张表看起来像是假设数据已配对,但数据未配对。如果配对,那就可以了,我可以在的输出上使用McNemars测试table(candytest),但是没有配对。因此,如何创建一个像汇总表一样的2 x 2矩阵,而无需手动输入。我意识到我可以将摘要表复制到矩阵中,但是我想知道如何使用函数正确地将其转换为R。

谢谢!

阿克伦

在这里,我试图假设summary每一都是因素df1使用上每一列从帖子中,我想是这种情况。输出使用,将其转换为lapplyclassesdo.call(data.framelistdata.frame

  do.call(data.frame,lapply(df1, summary)) #in case a matrix output is needed, just replace `data.frame` with `cbind`
  #          header1 header2
  #candy         1       3
  #nocandy       5       3


  summary(df1)
  #   header1     header2 
  #candy  :1   candy  :3  
  #nocandy:5   nocandy:3  

如果您只需要从数据集中的许多列中选择列,

  nm1 <- paste0("header",1:2) #names of columns to do the summary
   do.call(`cbind`, lapply(df1[nm1], summary))
   #        header1 header2
   #candy         1       3
   #nocandy       5       3

您也可以summary使用data.table

  library(data.table)
  DT <- setDT(df1)[, lapply(.SD, summary)]   #or

 #DT <- setDT(df1)[, lapply(.SD, table)] 
  DT
   #    header1 header2
   #1:       1       3
   #2:       5       3

 chisq.test(DT)

 #    Pearson's Chi-squared test with Yates' continuity correction

  #data:  DT
  #X-squared = 0.375, df = 1, p-value = 0.5403

  #Warning message:
  #In chisq.test(DT) : Chi-squared approximation may be incorrect

数据

df1 <- structure(list(header1 = structure(c(2L, 2L, 2L, 2L, 2L, 1L), .Label = c("candy", 
"nocandy"), class = "factor"), header2 = structure(c(2L, 2L, 
2L, 1L, 1L, 1L), .Label = c("candy", "nocandy"), class = "factor")), .Names = c("header1", 
"header2"), row.names = c(NA, -6L), class = "data.frame")

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

表格中每一行的R chi方检验(3x2列联表)

来自分类Dev

R 中的网格表格式

来自分类Dev

表格式和R中的输出

来自分类Dev

R中的重新格式化表格

来自分类Dev

以CSV格式下载生成的表格-R Shiny

来自分类Dev

R项列表格式广泛

来自分类Dev

R Shiny textInput 类似表格格式

来自分类Dev

如何在R中重新格式化表格?

来自分类Dev

R-优化长表格式的循环操作

来自分类Dev

根据R中的条件格式化表格

来自分类Dev

在 R 中使用 formattable() 格式化表格中的文本

来自分类Dev

R gt表格格式:如何获取长的gt表格并使其变宽?

来自分类Dev

将列表格式的数据框转换为 R 中的矩阵格式

来自分类Dev

使用Kable格式化数据以在R降价中创建整洁的表格

来自分类Dev

格式化表格输出,打印到R控制台

来自分类Dev

未将数据格式化为表格时,将数据导入R

来自分类Dev

如何在R中以列表格式获取列的所有元素?

来自分类Dev

如何在保持格式不变的情况下将表格/交叉表从 r 导出到 excel

来自分类Dev

在R中创建Chi分布的图

来自分类Dev

使用R中的函数查找chi统计

来自分类Dev

GAM的Chi Sq值子集产生R

来自分类Dev

填写R中的表格

来自分类Dev

在R中设计表格

来自分类Dev

R编程-读取表格

来自分类Dev

R:水平附加表格

来自分类Dev

填写R中的表格

来自分类Dev

在 R 中输入表格

来自分类Dev

R中的数字格式

来自分类Dev

R datetime格式问题