duxin123的个人博客分享 http://blog.sciencenet.cn/u/duxin123

博文

基于R语言,计算加权距离矩阵笔记。

已有 830 次阅读 2024-1-6 22:52 |系统分类:科研笔记

基于R语言,计算加权距离矩阵笔记。

   目的:由RDA分析提取的site constraints (linear combinations of constraining vari ables),即res$constraints代表多元多响应变量线性回归中解释变量(样地环境特征)的综合特征。其中,不同site坐标在RDA坐标系中的距离代表样地的环境差异。由于RDA分析中不同轴的解释率不同,因此希望对计算不同site点间的加权距离,希望将其权重定为RDA轴的解释率。目前尚未发现能直接计算加权距离矩阵的函数。因此,尝试编写代码求解样地环境差异加权距离矩阵。

第一步为对site的不同RDA轴进行加权化的标准化,其中均值为0,标准差为RDA轴的解释率。

对提取site数据标准化的代码如下:

SCALE=function(data,weighted)

{

mean=colMeans(data)

std=apply(data,2,sd)

std=std/weighted

data=sweep(data, 2, mean, "-")

data=sweep(data, 2, std, "/")

data

}

其中data为提取的RDA坐标,weighted为各轴的解释率。

> head(data)                                 

                                 RDA1        RDA2       RDA3 

m_community 1 -0.02876383 -0.35888114  0.2252142 

m_community 2 -0.02587618 -0.38090768  0.2768470 

m_community 3  0.27743429 -0.09692506 -0.1683682 

m_community 4  0.04411840 -0.20860643  0.4829977 

m_community 5  0.19173017 -0.16320394 -0.1542278 

m_community 6  0.02652928 -0.30372496  0.2929600

> weighted=c(0.8417,0.11086,0.030853)

> datanew=SCALE(data,weighted) 

> head(datanew)                     

                                     RDA1        RDA2        RDA3

m_community 1 -0.07507587 -0.12337348  0.02154713 

m_community 2 -0.06753887 -0.13094560  0.02648705 

m_community 3  0.72412538 -0.03332017 -0.01610845 

m_community 4  0.11515250 -0.07171316  0.04621029 

m_community 5  0.50043087 -0.05610503 -0.01475558 

m_community 6  0.06924352 -0.10441230  0.02802864

> mean(datanew[,1]);mean(datanew[,2]);mean(datanew[,3])

[1] 1.009784e-17

[1] -1.117293e-18 

[1] -3.236593e-19 

> sd(datanew[,1]);sd(datanew[,2]);sd(datanew[,3]) 

[1] 0.8417 

[1] 0.11086 

[1] 0.030853

可见,datanew各列的均值均为0,标准差均为权重系数。

第二步,可以dist函数直接计算加权距离矩阵。

> weighted_dist=dist(datanew) 

> as.numeric(weighted_dist) 

[1] 0.01177057 0.80513985 0.19865522 0.58056089 0.14570389 0.81127876 0.08655048 0.27430481 0.66069172 0.42601553 0.99659995  [12] 1.94251984 0.64908233 0.33898332 1.11769714 2.50578502 1.89894871 0.03634072 1.65364803 1.56430952 1.01148975 0.12087631 [23] 0.72964903 1.04493566 0.20763081 0.51963713 0.90231344 0.59206740 0.39650815 0.37794869 1.52707871 0.54129878 1.96564471 [34] 0.80513985 0.58701764 1.75711204 1.68333798 2.32575574 0.80513985 0.45125615 0.08495093 1.10110254 1.58320440 1.17913552 [45] 1.34737264 0.85294519 0.43015168 1.23289166 1.24404027 0.61413586 0.93973940 0.23915652 0.94350732 1.53857429 0.45972804 [56] 0.01232671 0.62061086 0.41418791 1.66682782 0.37034385 1.07040799 1.28305113 2.02638081 1.48940438 0.55400311 0.88376186 [67] 1.80096292 0.91664061 1.17647072 0.32093938 0.83746039 0.52734790 0.51092094 0.14208277 0.31726692 0.12621993 0.80509052 [78] 0.51451400 0.65083680 1.79645599 1.04918946 0.63091898 0.84309214 0.91368741 0.54250771 1.25531650 0.45093511 0.39903206 [89] 0.09286885 0.85891043 0.23444885 0.59020233 0.30701671 0.54831470 0.67432991 0.48021998 0.95785953 0.27450006 1.70479621  [100] 0.86127558



https://wap.sciencenet.cn/blog-3511023-1416920.html

上一篇:r语言,box核的概率密度函数估算
下一篇:应用R语言,基于AIC、BIC、HQIC进行前向选择逐步回归笔记
收藏 IP: 125.211.161.*| 热度|

0

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

数据加载中...

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

GMT+8, 2024-4-29 09:33

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部