R 不同大小向量之间的相关矩阵
我试图为不平衡的数据实现一个相关矩阵,有可能吗?我下面的代码显示了我一直在尝试做的事情。有人能帮我解决这个问题吗 我的代码 变量R 不同大小向量之间的相关矩阵,r,cross-correlation,pearson-correlation,R,Cross Correlation,Pearson Correlation,我试图为不平衡的数据实现一个相关矩阵,有可能吗?我下面的代码显示了我一直在尝试做的事情。有人能帮我解决这个问题吗 我的代码 变量 var1您可能需要解释“不起作用”对您意味着什么。您需要解释计算不同大小的向量之间的相关性在数学上应该如何工作。我想创建一个具有100个值维度的示例函数并重复1000次。您是指“完整信息”吗协方差矩阵的估计量?如果是这样的话,那么是的,这是可能的,并且这种类型的似然估计在许多统计软件包中很常见(例如,lavan,用于R中的完整信息ML)。一般来说,这种计算的一个相对简
var1您可能需要解释“不起作用”对您意味着什么。您需要解释计算不同大小的向量之间的相关性在数学上应该如何工作。我想创建一个具有100个值维度的示例函数并重复1000次。您是指“完整信息”吗协方差矩阵的估计量?如果是这样的话,那么是的,这是可能的,并且这种类型的似然估计在许多统计软件包中很常见(例如,lavan
,用于R中的完整信息ML)。一般来说,这种计算的一个相对简单的框架是Dempster,Laird&Rubin(1977;参见)提出的EM算法。
var1<-rnorm(200,5,0.25)## 200 values
var2<-1:500 ## 500 values
var3<-rnorm(100,5,0.25)## 100 values
var4<-500:1## 500 values
pn <- function(X){crossprod(!is.na(X))}
cor.prob <- function(X){
pair.SampSize <- pn(X)
above1 <- row(pair.SampSize) < col(pair.SampSize)
pair.df <- pair.SampSize[above1] - 2
R <- cor(X, use="pair")
above2 <- row(R) < col(R)
r2 <- R[above2]^2
Fstat <- (r2 * pair.df)/(1 - r2)
R[above2] <- 1 - pf(Fstat, 1, pair.df)
R
}
correla <- round(cor.prob(var1,var2,var3,var4),4)