사용자 정의 함수로 얻은 추정치에서 부트 스트랩 신뢰 구간을 얻는 방법을 찾아야합니다. 이제, 문제는 제가 행을 무작위로 추출한 다음 필요한 양을 계산하는 하나의 큰 행렬을 가지고 있다는 것입니다.사용자 정의 부트 스트랩 신뢰 구간 R
여기 (희망) 재현성 예를이다
유사 랜덤 데이터 생성 :
mat1 <- matrix(rnorm(300, 80, 20), nrow = 100)
함수 (R은 상관 행렬 인) 원하는 수량 계산하기 :
IIvar <- function(R) {
d <- eigen(R)$values
p <- length(d)
sum((d-1)^2)/(p*(p-1))}
내 함수 (여기서, omat는 mat1 행으로 구성된 작은 행렬이고, freq는 omat의 행 수이며, numR은 복제 수입니다).
ciint <- function(omat, mat1, freq, numR) {
II <- IIvar(cor(omat))
n <- dim(mat1)[1]
b <- numeric(numR)
for (i in 1:numR) { b[i] <- IIvar(cor(mat1[sample(c(1:n),freq),]))}
hist(b)
abline(v = II, lty = 5, lwd = 3)
return(b) }
얻어진 벡터 B
는 OMAT (모집단의 구성원에 의해 선택된 행 행렬)로부터 IIvar와 비교 될 수 MAT1에서 (주파수에 의해 결정될 수) 무작위로 선택된 행의 행렬에서 얻은 모든 값을 가진다.mat1에는 5 개의 모집단 (행별로 그룹화)이 있으며, 모두에 대해 IIvar를 개별적으로 계산하고 얻은 값에 대한 신뢰 구간을 생성해야합니다. 내가 값의 분포, 그리고 "진짜"IIvar 값의 위치를 얻을이
ciint(omat, mat1, 61, 1000)
처럼 내 ciint 기능을 실행할 수 있지만 때
I이 95 개 % 간격을 생성하는 방법을 몰라 포인트.
위대한 조언, 그것은 내가 필요한 것입니다. 그동안 나는이 [웹 사이트] (http://codealamode.blogspot.com/2013/08/bootstrap-confidence-interval-methods.html)에서 R 코드와 함께 다른 부트 스트랩 CI를 나열했습니다. 당신이 제안한 비슷한 것을하는 또 다른 패키지를 알고 있습니까? –