赖江山的博客分享 http://blog.sciencenet.cn/u/laijiangshan 生态、统计与R语言

博文

计算两个矩阵中不同变量相关系数和p值的函数

已有 5509 次阅读 2018-8-13 10:37 |个人分类:未分类|系统分类:科研笔记

# 刚有人问,有两个矩阵,一个物种矩阵,一个是环境因子矩阵,要算所有物种和所有环境因子之间的俩俩

#相关系数和p值,找不到现成的函数做,写循环又比较繁琐。我简单写了函数解决这个问题,供大家参考!

#以vegan包中vare物种数据和环境因子数据为例

library(vegan)

data(varespec)

data(varechem)

r=cor(varespec,varechem)#计算相关系数矩阵

r1=r[r>=0] #找出大于等于0的相关系数

r2=r[r<0]  #找出小于0的相关系数

n=nrow(varespec) #算样本量

p1=(1-pt(r1*sqrt((n-2)/(1-r1^2)),n-2))*2 #计算大于等于0的相关系数的p值

p2=pt(r2*sqrt((n-2)/(1-r2^2)),n-2)*2 #计算小0的相关系数的p值

pvalue=r  #构建pvalue矩阵,让它首先等于相关系数矩阵

pvalue[r>=0]=p1 #pvalue矩阵中r大于等于0地方等于p1

pvalue[r<0]=p2  #pvalue矩阵中r小于0地方等于p2

pvalue

#write.csv()写出相关系数矩阵r和p值矩阵pvalue




https://wap.sciencenet.cn/blog-267448-1128925.html

上一篇:推荐书目《基于R语言林学数据分析》英文版
下一篇:在R里面将有经纬度的取样点在google地图标出

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2021-12-9 18:27

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部