代码之家  ›  专栏  ›  技术社区  ›  Warwick Wainwright

R中的“corrplot”包可以用来构造二进制和连续变量的相关矩阵吗?

  •  0
  • Warwick Wainwright  · 技术社区  · 6 年前

    我正在研究多个二进制和连续变量,想确定它们之间的潜在相关性。我尝试使用R中的“corrplot”包来计算描述这种关系的相关矩阵,但始终得到以下错误“error in cor(Zamcor):'x'必须是数字]”。

    代码如下(带有示例数据帧):

    # Create the variables
    PriceHa <- c(25,60,30,9)
    Ecoregion1 <- c('1','0','0','1')
    GMA <- c('1','0','0','1')
    FarmSize <- c(30,40,50,60)
    Area <- c(1,0.5,3,4)
    
    #Make the data frame
    Zamcor <- data.frame(PriceHa, Ecoregion1, GMA, FarmSize, Area)
    
    # Group correlation test 
    corr.test(Zamcor)
    
    # Simple visualisation of correlation analysis effect size including significance    
    x <- cor(Zamcor)
    cor(x,use="pairwise.complete.obs")
    colnames (x) <- c("Price/ha", "Ecoregion 1","GMA", "Farm size", "Area")
    rownames(x) <- c("Price/ha", "Ecoregion 1", "GMA", "Farm size", "Area")
    p.mat <- cor.mtest(Zamcor, conf.level = .95)
    p.mat <- cor.mtest(Zamcor)$p
    corrplot(x, p.mat = p.mat, sig.level = .05)
    

    有人建议我使用 point-biserial correlation 因为这可以处理二进制和连续变量。然而,似乎有 no advantage to using that over the corr.test function . 但当我使用corr.test时,它不起作用“cor中的错误(x,use=use,method=method):'x'必须是数字”。

    我的问题-哪一个函数最适合用于我的二进制和分类变量,它仍然使我能够绘制相关矩阵,而不违反相关测试的假设?

    0 回复  |  直到 6 年前