我正在尝试计算一些多向相关性(此处可重现代码)
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?
提前非常感谢您。
您可以使用引导库。引导涉及对数据进行多次重新采样以创建多向相关估计的分布,您可以从中导出置信区间。
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/