多向相关性和CI

问题描述 投票:0回答:1

我正在尝试计算一些多向相关性(此处可重现代码)

library(polycor)
Var1 <- (c(1,2,3,1,2,2,3,2,2,1,2))
Var2 <- (c(2,2,3,1,2,1,3,2,2,1,2))
        
df <- as.data.frame(cbind(Var1, Var2))


polychor(df$Var1,df$Var2)

但是,我还需要置信区间,但我无法计算它们。我已经用 polycor 包计算了多向相关性。我找到了一些软件包,例如 ci.rpc,但它们在我的 R 版本中不起作用。

现在有人如何计算多向相关性的 CI 吗?也许使用boostrapping?

提前非常感谢您。

r correlation confidence-interval
1个回答
0
投票

您可以使用引导库。引导涉及对数据进行多次重新采样以创建多向相关估计的分布,您可以从中导出置信区间。

library(polycor)
library(boot)
Var1 <- (c(1,2,3,1,2,2,3,2,2,1,2))
Var2 <- (c(2,2,3,1,2,1,3,2,2,1,2))

df <- as.data.frame(cbind(Var1, Var2))
polychor(df$Var1,df$Var2)

# Function to calculate polychoric correlation
polychoric_correlation <- function(data, indices) {
  sample_data <- data[indices, ]  # resample the data
  return(polychor(sample_data$Var1, sample_data$Var2))
}

# Bootstrapping
set.seed(123)  # for reproducibility
results <- boot(data = df, statistic = polychoric_correlation, R = 1000)

# Confidence intervals
boot.ci(results, type = "perc")

输出:

BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 997 bootstrap replicates

CALL : 
boot.ci(boot.out = results, type = "perc")

Intervals : 
Level     Percentile     
95%   ( 0.4239,  0.9998 )  
Calculations and Intervals on Original Scale

此外,如果您在安装库时遇到任何问题,我建议您更新 R 和 RStudio 的版本 https://posit.co/download/rstudio-desktop/

© www.soinside.com 2019 - 2024. All rights reserved.