R 使用新的距离函数创建相关矩阵
我正在尝试编写一个函数,它将使用一个奇特的距离估计(R 使用新的距离函数创建相关矩阵,r,R,我正在尝试编写一个函数,它将使用一个奇特的距离估计(dcorr,布朗距离)创建一个相关矩阵。更一般地说,我想为一个通用的“相关”矩阵编写代码,您可以在其中插入任何距离估计器 我的数据的格式是,列是变量,行是观察值 我的基本代码有问题。我的算法如下: 使用apply获取变量 传递给将再次应用于整个矩阵的函数 此时,应该有两对变量 使用na.省略删除缺失的观察值(dcorr所需) 计算dcorr 我希望这会产生相关矩阵,但我在基本变量管理方面有很多问题。我很难将变量传递给apply函数。特别是,
dcorr
,布朗距离)创建一个相关矩阵。更一般地说,我想为一个通用的“相关”矩阵编写代码,您可以在其中插入任何距离估计器
我的数据的格式是,列是变量,行是观察值
我的基本代码有问题。我的算法如下:
- 使用apply获取变量
- 传递给将再次应用于整个矩阵的函数
- 此时,应该有两对变量
- 使用
删除缺失的观察值(dcorr所需)na.省略
- 计算dcorr
dcormatrix <- function(Matrix){
dcorhelper <- function (Col1){
as.matrix(apply(Matrix,2,function(Col2){
B <- na.omit(cbind(Col1,Col2))
dcor(B[,1],B[,2],index=1)
},Col1=Col1))
}
apply(Matrix,2,dcorhelper(),Matrix=Matrix)
}
dcormatrix您可能需要从vegan
套餐中查看designdist
。它允许定义备用距离/相异矩阵。请参阅。为什么不直接使用dist()
来执行此操作?您可以尝试将browser()
插入函数中,然后查看发生了什么。这将使您对变量及其传递方式有一些了解。