Я пытаюсь сделать загрузочную корреляцию в R. У меня есть две переменные Var1 и Var2, и я хочу получить загрузочную p.value корреляции Пирсона.
my variables look like this:
x y
1 .6080522 1.707642
2 1.4307273 1.772616
3 0.8226198 1.768537
4 1.7714221 1.265276
5 1.5986213 1.855719
6 1.0000000 1.606106
7 1.1678940 1.671457
8 0.6630012 1.608428
9 1.0842423 1.670619
10 0.5592512 1.107783
11 1.6442616 1.492832
12 0.8326965 1.643923
13 1.1696954 1.763181
14 0.7484543 1.762921
15 1.0842423 1.591566
16 0.9014748 1.718669
17 0.7604917 1.782863
18 0.8566499 1.796216
19 1.4307273 1.913675
20 1.7579695 1.903155
Пока у меня есть это:
data = as.data.frame(data)
x = data$Var1
y = data$Var2
dat = data.frame(x,y)
library(boot)
set.seed(1)
bootCorTest3 <- function(data, i){
d <- data[i, ]
results <- cor.test(d$x, d$y, method='pearson')
c(est = results$estimate, stat = results$statistic, param = results$parameter, p.value = results$p.value, CI = results$conf.int)
}
b3 <- boot(dat, bootCorTest3, R = 1000)
b3
# Original (non-bootstrap) statistics with label
b3$t0
colMeans(b3$t)
boot.ci(b3, type = c("norm", "basic", "perc", "bca")) #bootstrapped CI.
Начальное значение p должно быть тем, которое я получаю с colMeans (b3 $ t), верно?
colMeans (b3 $ t) дает мне это:
est.cor stat.t param.df p.value CI1 CI2
0.28495324 2.13981008 48.00000000 0.14418623 0.01438146 0.51726022
Кажется, все работает нормально. Проблема в том, что я запустил одну и ту же статистику для другого программного обеспечения, и результаты сильно различаются. Значение p, которое я здесь получаю, намного выше, чем на другом. Я думаю, что я, возможно, сделал что-то не так, потому что я не силен в R.
Может кто-нибудь дать мне отзыв об этом коде? Я делаю что-то неправильно? Как бы вы получили начальное значение p.value для корреляции Пирсона?
Спасибо за потраченное время.