Я пишу циклы или функции в R, и я до сих пор не понял, как это сделать. В настоящее время мне нужно написать цикл / функцию (не знаю, какая из них лучше), чтобы создать несколько результатов Bootstrap в одном фрейме данных.
образец набора данных выглядит так:
"ID A_d B_d C_d D_d E_D f_D chkgp
M1 10 20 60 30 54 33 Treatment
M1 20 50 40 33 31 44 Placebo
M2 40 80 40 23 15 66 Placebo
M2 30 90 40 67 67 66 Treatment
M3 30 10 20 22 89 77 Treatment
M3 40 50 30 44 50 88 Placebo
M4 40 30 40 42 34 99 Treatment
M4 30 40 50 33 60 80 Placebo",header = TRUE, stringsAsFactors = FALSE)
Я написал функцию, чтобы найти корреляцию копьеносца
k=cor(df$A_d,df$E_D,method="spearman")
k
результат
-0,325407
теперь мне нужно запустить метод начальной загрузки, чтобы получить значение корреляции 5000 раз путем перемешивания данных в обеих переменных
так использовал следующий код
fc <- function(d, i){
d2 <- d[i,]
return(cor(df$A_d,df$E_D,method="spearman"))
}
Определив функцию fc, мы можем использовать команду загрузки, указав имя нашего набора данных, нашу функцию и количество выборок начальной загрузки, которые нужно нарисовать.
Рассчитано BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
На основании 5000 копий начальной загрузки.
#turn off set.seed() if you want the results to vary
set.seed(626)
bootcorr <- boot(hsb2, fc, R=500)
bootcorr
Я нахожу доверительный интервал из 5000 копий
boot.ci(boot.out = bootcorr, type =c( "perc"))
результат
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 500 bootstrap replicates
CALL :
boot.ci(boot.out = bootcorr, type = c("perc"))
Intervals :
Level Percentile
95% (-0.3254, -0.3254 )
Calculations and Intervals on Original Scale
Мне нужно написать условие цикла, чтобы получить результат следующим образом
Variable1 Variable2 confidence interval
A_d E_D (-0.3254, -0.3254 )
A_d f_D
B_d E_D
B_d f_D
C_d E_D
C_d f_D
D_d E_D
d_d f_D
потому что у меня есть набор данных, который содержит более 100 переменных, поэтому его сложно делать каждый раз, поэтому мне нужна часть автоматизации, чтобы сделать это.