2번 모델이다. 솔직히 이걸로 검정 한걸 본적이 없다. 인기 없는 모델이다. 조절된 조절을 돌려보았으나 유의하지 않으면 이걸 하지 않을까 싶다.
일단 데이터를 만들어보자.
x<-rnorm(100)
w1<-rnorm(100)+ x^2
w2<-rnorm(100)+ abs(x)
y<-rnorm(100, 0,1) + w1*x + w2*x
co1<-rnorm(100)
d<-data.frame(x,w1,w2,y,co1)
그다음 계수 산출 함수이다.
boot2<-function(xxx,mmm, mmm2,yyy,d,bootnum){
###estimate a*m
boot2_1<-function(xxx,mmm,mmm2, yyy,d){
n<-sample(1:nrow(d),nrow(d),replace = T)
nnk<-d[n,]
nnk<-as.data.frame(nnk)
k2<-lm(nnk[,yyy]~ nnk[,xxx]+nnk[,mmm] + nnk[,mmm2]+ nnk[,xxx]*nnk[,mmm] + nnk[,xxx]*nnk[,mmm2], data=nnk)
s2<-summary(k2)
coem<-s2$coefficients
eff<-as.data.frame(coem)
eff1<-eff[nrow(eff)-1,1]
eff2<-eff[nrow(eff),1]
efff<-c(eff1, eff2)
efff<-matrix(efff, ncol = 2)
efff
}
k<-1
l<-matrix(rep(NA,bootnum*2),ncol = 2)
l<-as.data.frame(l)
repeat{
l[k,]<-boot2_1(xxx,mmm, mmm2,yyy,d)
k<-k+1
if(k>=bootnum+1) break
}
estimates<-list(l)
ci1<-quantile(l[,1],probs = c(.001,0.01,0.05,0.10,0.90,0.95,0.99,.999))
ci2<-quantile(l[,2],probs = c(.001,0.01,0.05,0.10,0.90,0.95,0.99,.999))
kmkmkmkm<-list(c(mean(l[,1]),sd(l[,1])),ci1, c(mean(l[,2]), sd(l[,2])),ci2)
names(kmkmkmkm)<-c("moderation_mean_BootSE_x*w1", "moderation_CI_x*w1","moderation_mean_BootSE_x*w2", "moderation_CI_x*w2" )
kmkmkmkm
}
5000번으로 늘려서 해보자
boot2(1,2,3,4,d,5000)
#결과
$`moderation_mean_BootSE_x*w1`
[1] 1.08154394 0.06383245
$`moderation_CI_x*w1`
0.1% 1% 5% 10% 90% 95% 99% 99.9%
0.8887386 0.9360914 0.9807936 1.0022912 1.1641793 1.1923826 1.2356927 1.2757689
$`moderation_mean_BootSE_x*w2`
[1] 0.9243474 0.1118910
$`moderation_CI_x*w2`
0.1% 1% 5% 10% 90% 95% 99% 99.9%
0.6146020 0.6797710 0.7502844 0.7840226 1.0748091 1.1160583 1.1938683 1.2619654
역시 당연하게 유의하다.
'기타 잡기장' 카테고리의 다른 글
연속형 변수 ~ 범주형 변수(외래관광실태조사) (0) | 2022.12.05 |
---|---|
hayes model 5(조건부 직접효과) (0) | 2022.11.30 |
hayes model 4(매개모형) (0) | 2022.11.30 |
hayes model 3 (0) | 2022.11.28 |
Hayes Model 1 (0) | 2022.11.27 |
댓글