美文网首页
R语言机器学习与临床预测模型82--对应分析

R语言机器学习与临床预测模型82--对应分析

作者: 科研私家菜 | 来源:发表于2022-08-23 19:51 被阅读0次

    R小盐准备介绍R语言机器学习与预测模型的学习笔记

    你想要的R语言学习资料都在这里, 快来收藏关注【科研私家菜】


    01 什么是对应分析?

    所谓对应分析就是把样本取值和变量取值联系起来,发现它们之间潜在关系的分析方法。此外,
    还可以将两分类变量做成列联表,发现变量取值间的规律。通常的做法是将要分析的对象放在
    二维表格中,行(列)表示具体的对象或类型,表格中的值表示发生的频率或反应重要性指标。
    在表格较小的情况下,可以通过值的大小判断对应行和列对象间的相关性强弱。当表格很大时,就不能直观判断了,这时需要使用降维技术,将数据压缩在低维空间表示出来,这就是对应分析的基本思想。
    对应分析主要应用在市场细分、产品定位等方面,它能够将几组看不出任何联系的数据,通
    过视觉上可以接受的定位图展现出来。


    列联表

    在分析行列相关性之前,需要检验行列数据的独立性,如果是独立无关的,则不需要进行对应
    分析了,只有通过独立性假设,对应分析才有意义。针对行列因素是否独立的问题,提出原假设H0和备择假设H1则有:
    H0:行列因素是独立无关的
    H1:行列因素不独立,是相关的
    可构造卡方统计如下:


    效果如下:


    02 对应分析的R语言实现

    R语言中MASS包中的corresp函数实现了从二维列联表进行对应分析的过程,并可从输出中得到行列得分,以便将因素关系绘制在低维图表中。

    corresp(x, ...)
    
    ## S3 method for class 'matrix'
    corresp(x, nf = 1, ...)
    
    ## S3 method for class 'factor'
    corresp(x, y, ...)
    
    ## S3 method for class 'data.frame'
    corresp(x, ...)
    
    ## S3 method for class 'xtabs'
    corresp(x, ...)
    
    ## S3 method for class 'formula'
    corresp(formula, data, ...)
    

    03 对应分析的R语言示例

    下面为某市老龄化研究数据,行因素表示自评健康状况,有很好、好、一般、差、很差、没回
    答这六项分类,列因素表示生活自理能力,有完全自理、部分自理、不能自理这三项分类,行列因素构成的列联表:


    vdata=read.csv("demolaolinhua2.csv",header=T,row.names = 1)
    #2.加载MASS包,用corresp函数进行对应分析
    library(MASS)
    
    
    cp<-corresp(vdata,nf=2)
    cp
    ## First canonical correlation(s): 0.29614629 0.08462696 
    ## 
    ##  Row scores:
    ##              [,1]        [,2]
    ## 很好   -0.8598235  0.90764251
    ## 好     -0.4243279  0.31560800
    ## 一般   -0.3176986  0.02177613
    ## 差      1.1427620 -1.80803262
    ## 很差    4.6633068  4.82861892
    ## 没回答  4.0033447  1.24147941
    ## 
    ##  Column scores:
    ##                [,1]       [,2]
    ## 完全自理 -0.5368034  0.2556804
    ## 部分自理  0.7824802 -2.2683088
    ## 不能自理  2.4804060  1.2965027
    #3.绘制二维图表
    rgx<-range(cp$rscore[,1],cp$cscore[,1])+c(-0.5,0.5)
    rgy<-range(cp$rscore[,2],cp$cscore[,2])+c(-0.5,0.5)
    plot(cp$rscore,pch=20,cex=5,col='red',xlim=rgx,ylim=rgy,xlab="Dimension 1",
         ylab="Dimension 2")
    text(cp$rscore-0.2,rownames(cp$rscore))
    points(cp$cscore,pch=20,cex=5,col='darkgreen')
    text(cp$cscore-0.2,rownames(cp$cscore))
    abline(v=0,h=0,lty=3)
    
    
    对应分析二维表

    结果解读:

    结果显示,生活自理能力“完全自理”,与自评健康状况“很好”、 “好”、“一般”十分接近,说明生活可以完全自理的老人健康状况良好。而生活自理能力为“部分自理”,与自评健康状况“差”比较接近,说明生活可以部分自理的老人健康状况不是很好。此外,生活自理能力“不能自理”与自评健康状况“很差”、“没回答”距离较远,这不能说明生活不能自理的老人健康状况就很糟糕。


    关注R小盐,关注科研私家菜(VX_GZH: SciPrivate),有问题请联系R小盐。让我们一起来学习 R语言机器学习与临床预测模型

    相关文章

      网友评论

          本文标题:R语言机器学习与临床预测模型82--对应分析

          本文链接:https://www.haomeiwen.com/subject/xltqwrtx.html