【问题标题】:R - post hoc chi squared - "fifer" package no longer supported?R - 事后卡方 - 不再支持“fifer”包?
【发布时间】:2019-02-27 02:26:28
【问题描述】:

我正在尝试将包 fifer 与命令 install.packages("fifer") 与 R 3.5.0 一起使用。但是,R 告诉我它不可用。这个webpage 告诉我它已从 CRAN 中删除。或者,R 中是否有另一个函数/包允许进行事后卡方?

【问题讨论】:

  • 存档版本不能下载安装有什么原因吗?
  • 谢谢。 @RuiBarradas。我成功下载了存档版本!但是为什么它被从 CRAN 中删除了?
  • 我不知道。通常这意味着维护者不再想要或不能支持它。贡献的包是开发者和维护者的责任,而不是 CRAN 的。
  • 好的@RuiBarradas 谢谢你的cmets

标签: r package installation chi-squared


【解决方案1】:

或者,您可以使用 devtools 安装软件包

install.packages("devtools")
library(devtools)
install_github("dustinfife/fifer")

根据Github 上的活动,它看起来仍在维护/开发中。

但是,我无法以这种方式安装它或使用 R 3.5.1 中的存档(但它似乎适用于 R 3.5.0 及更早版本)。祝你好运。

【讨论】:

    【解决方案2】:

    此外,还有chisq.posthoc.test 包。 https://www.rdocumentation.org/packages/chisq.posthoc.test/versions/0.1.2/topics/chisq.posthoc.test

    test.df <- as.table(cbind(c(30,40,60,120), c(50,70,60,80)))
    
    library(chisq.posthoc.test)
    
    chisq.posthoc.test(test.df)
    
    #  Dimension     Value          A          B
    #1         A Residuals -2.2446418  2.2446418
    #2         A  p values  0.1983290  0.1983290
    #3         B Residuals -2.9981988  2.9981988
    #4         B  p values  0.0217260  0.0217260
    #5         C Residuals  0.2456726 -0.2456726
    #6         C  p values  1.0000000  1.0000000
    #7         D Residuals  3.9842868 -3.9842868
    #8         D  p values  0.0005410  0.0005410
    

    【讨论】:

      【解决方案3】:

      不再维护包fifer,这里是RVAideMemoire的解决方案(更详细的描述在这里https://rdrr.io/cran/RVAideMemoire/src/R/chisq.multcomp.R),使用来自Post-Hoc tests for chi-sq in R的示例:

      install.packages("RVAideMemoire")
      library(RVAideMemoire)
      theft_loc<-as.table(c(13704L, 14059L, 14263L, 14450L, 14057L, 15503L, 14230L, 
                 16758L, 15289L, 15499L, 16066L, 15905L, 18531L, 19217L, 12410L, 
                 13398L, 13308L, 13455L, 13083L, 14111L, 13068L, 19569L, 18771L, 
                 19626L, 20290L, 19816L, 20923L, 20466L, 20517L, 19377L, 20035L, 
                 20504L, 20393L, 22409L, 22289L, 7997L, 8106L, 7971L, 8437L, 8246L, 
                 9090L, 8363L, 7934L, 7874L, 7909L, 8150L, 8191L, 8746L, 8277L, 
                 27194L, 25220L, 26034L, 27080L, 27334L, 30819L, 30633L, 10452L, 
                 10848L, 11301L, 11494L, 11265L, 11985L, 11038L, 12104L, 13368L, 
                 14594L, 14702L, 13891L, 12891L, 12939L), .Dim = c(7L, 10L), .Dimnames = structure(list(
                   c("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", 
                     "Friday", "Saturday"), c("BAYVIEW", "CENTRAL", "INGLESIDE", 
                                              "MISSION", "NORTHERN", "PARK", "RICHMOND", "SOUTHERN", "TARAVAL", 
                                              "TENDERLOIN")), .Names = c("", "")), class = "table")
      chisq.multcomp(theft_loc, p.method = "none")
      >      7874    7909    7934    7971    7997    8106    8150    8191    8246    8277    8363    8437    8746    9090    10452   10848   11038   11265   11301  
      7909  0.78056 -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -      
      7934  0.63321 0.84256 -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -      
      7971  0.44095 0.62272 0.76923 -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -      
      7997  0.32889 0.48533 0.61768 0.83698 -       -       -       -       -       -       -       -       -       -       -       -       -       -       -      
      8106  0.06647 0.11954 0.17444 0.28701 0.39036 -       -       -       -       -       -       -       -       -       -       -       -       -       -      
      8150  0.02923 0.05720 0.08854 0.15860 0.22857 0.73002 -       -       -       -       -       -       -       -       -       -       -       -       -      
      8191  0.01238 0.02625 0.04298 0.08354 0.12732 0.50552 0.74841 -       -       -       -       -       -       -       -       -       -       -       -      
      8246  0.00339 0.00802 0.01417 0.03081 0.05073 0.27360 0.45342 0.66793 -       -       -       -       -       -       -       -       -       -       -      
      8277  0.00152 0.00382 0.00706 0.01637 0.02817 0.18156 0.32174 0.50276 0.80943 -       -       -       -       -       -       -       -       -       -      
      8363  0.00012 0.00037 0.00078 0.00216 0.00422 0.04522 0.09741 0.18128 0.36396 0.50497 -       -       -       -       -       -       -       -       -      
      8437  1.0e-05 3.6e-05 8.5e-05 0.00027 0.00060 0.01007 0.02585 0.05643 0.13921 0.21586 0.56805 -       -       -       -       -       -       -       -      
      8746  1.3e-11 8.8e-11 3.2e-10 2.0e-09 7.1e-09 8.2e-07 4.5e-06 2.0e-05 0.00013 0.00032 0.00341 0.01841 -       -       -       -       -       -       -      
      9090  < 2e-16 < 2e-16 < 2e-16 < 2e-16 < 2e-16 6.2e-14 8.1e-13 8.0e-12 1.5e-10 6.9e-10 3.7e-08 8.1e-07 0.01000 -       -       -       -       -       -      
      10452 < 2e-16 < 2e-16 < 2e-16 < 2e-16 < 2e-16 < 2e-16 < 2e-16 < 2e-16 < 2e-16 < 2e-16 < 2e-16 < 2e-16 < 2e-16 < 2e-16 -       -       -       -       - 
      

      不幸的是,类别名称丢失并被每个类别的计数所取代。 我不喜欢对多重比较进行更正(参见 [Moran 2003][1] 进行讨论),但可以使用 fdr

      > install.packages("fifer")
      Installing package into ‘C:/Users/admin/Documents/R/win-library/3.5’
      (as ‘lib’ is unspecified)
      Warning in install.packages :
        package ‘fifer’ is not available (for R version 3.5.0)
      

      [1]:莫兰,医学博士(2003 年)。在生态学研究中拒绝顺序 Bonferroni 的论据。 Oikos, 100(2), 403-405。

      【讨论】:

        【解决方案4】:

        过去使用过'fifer'包,我也看到了这个:

        chisq.test(Matriz)
        
        X-squared = 7.7832, df = 3, p-value = 0.05071
        
        FUN = function(i,j){     
              chisq.test(matrix(c(Matriz[i,1], Matriz[i,2],
                                  Matriz[j,1], Matriz[j,2]),
                         nrow=2,
                         byrow=TRUE))$ p.value
                        }
        
        pairwise.table(FUN,
                       rownames(Matriz),
                       p.adjust.method="fdr")
        

        https://rcompanion.org/rcompanion/b_05.html 找到——这给出了类似于 fifer 的答案。 p.adjust.method 可以更改。

        【讨论】:

          【解决方案5】:

          或者,您可以下载源包并使用远程包进行安装。

          library(remotes)
          install_version("fifer", "1.0")
          # Import
          library(fifer)
          # Run Post Hoc Test of Proportion
          chisq.post.hoc(table(data))
          

          适用于 R 版本 4.1.2

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2023-02-20
            • 2021-10-03
            • 2018-05-17
            • 2012-06-11
            • 2016-12-31
            • 1970-01-01
            相关资源
            最近更新 更多