R语言中 关于求一个矩阵的相关系数的问题

Python022

R语言中 关于求一个矩阵的相关系数的问题,第1张

analyze-correlate-bivariate-选择变量 OK 输出的是相关系数矩阵 相关系数下面的Sig.是显著性检验结果的P值,越接近0越显著。 另外,表格下会显示显著性检验的判断结果,你看看表格下的解释就知道,比如“**. Correlation is significant at the 0.01 level (2-tailed).” 就是说,如果相关系数后有"**"符号,代表在0.01显著性水平下显著相关 粗略判断的方法是,相关系数0.6以上,可以认为显著相关了

cor()函数可以提供双变量之间的相关系数,还可以用scatterplotMatrix()函数生成散点图矩阵 不过R语言没有直接给出偏相关的函数; 我们要是做的话,要先调用cor.test()对变量进行Pearson相关性分析, 得到简单相关系数,然后做t检验,判断显著性。

比如 Horticulture Research 中的论文 Comparative analysis of long noncoding RNAs in angiosperms and characterization of long noncoding RNAs in response to heat stress in Chinese cabbage 方法部分写道

这里相当于是计算两个数据集中的变量之间的相关性,之前发现 correlation 这个R包里的函数 correlation() 可以做

但是这里遇到了一个问题

关掉这个报错界面以后就会提示

暂时还不知道如何解决,自己搜索了一下暂时还没有找到解决办法

只能把输入法切换成中文,然后一次性把函数名输入完

计算相关系数和P值

结果如下

但是mRNA的表达量有上万个,用这个函数计算的时候是非常慢的

找到了另外一个函数是 Hmisc 这个包中的 rcorr() 函数

这个速度快很多,但是他不能计算两个数据集之间变量的相关性,

这样的话可以先计算,然后再筛选

这个函数要求的输入数据是矩阵格式

自定义函数将这个结果转换成一个四列的数据框格式

最后用变量名去匹配

两个矩阵之间的相关性热图这么容易画的吗?零基础学习R语言之相关性分析2_哔哩哔哩_bilibili

psych 这个包里的 corr.test() 函数也是可以直接计算两个数据集变量之间的相关性的,这个结果了也有显著性检验的p值

但是这个如果数量量比较大的话速度也很慢

小明的数据分析笔记本