0

공유도상에서 샘플링 분포의 평균을 통과하는 선을 맞추기를 원합니다. 이 코드는 내가 사용하고있는 데이터 세트와 유사한 데이터 세트를 작성합니다. 샘플링 분포를 생성하고 동일한 그래프에 분포를 플롯합니다. 그런 다음 배포판의 평균을 따라 선을 그립니다. 그러나, 나는 배포판의 모든 수단에 맞는 라인을 원한다. 나는 this graphic found here과 같은 것을 생각하고있다.작은 배수로 줄을 맞추기

means<-c(NULL) 

sample<-rnorm(1000,-0.2,0.1) 
A<-hist(sample,plot=FALSE) 
means<-c(means,mean(sample)) 
sample<-rnorm(1000,-0.1,0.1) 

B<-hist(sample,plot=FALSE) 
means<-c(means,mean(sample)) 

sample<-rnorm(1000,0,0.1) 
C<-hist(sample,plot=FALSE) 
means<-c(means,mean(sample)) 

sample<-rnorm(1000,0.1,0.1) 
D<-hist(sample,plot=FALSE) 
means<-c(means,mean(sample)) 

sample<-rnorm(1000,0.2,0.1) 
E<-hist(sample,plot=FALSE) 
means<-c(means,mean(sample)) 


plot(NULL,type="n", 
    xlim=c(0,1250), 
    ylim=c(min(A$breaks,B$breaks,C$breaks,D$breaks,E$breaks), 
      max(A$breaks,B$breaks,C$breaks,D$breaks,E$breaks)), 
    xaxt="n", 
    xlab="Mean", 
    ylab="Sampling Distribution of The Mean") 
labels<-c("-0.2","-0.1","0","0.1","0.2") 

y.coord<-0 
rect(y.coord, A$breaks[1:(length(A$breaks) - 1)], A$counts, A$breaks[2:length(A$breaks)]) 
axis(side=1,at=y.coord,labels=labels[1],las=3) 

y.coord<-max(A$counts)+50 
rect(y.coord, B$breaks[1:(length(B$breaks) - 1)], y.coord+B$counts, B$breaks[2:length(B$breaks)]) 
axis(side=1,at=y.coord,labels=labels[2],las=3) 

y.coord<-y.coord+max(B$counts)+50 
rect(y.coord, C$breaks[1:(length(C$breaks) - 1)], y.coord+C$counts, C$breaks[2:length(C$breaks)]) 
axis(side=1,at=y.coord,labels=labels[3],las=3) 

y.coord<-y.coord+max(C$counts)+50 
rect(y.coord, D$breaks[1:(length(D$breaks) - 1)], y.coord+D$counts, D$breaks[2:length(D$breaks)]) 
axis(side=1,at=y.coord,labels=labels[4],las=3) 

y.coord<-y.coord+max(D$counts)+50 
rect(y.coord, E$breaks[1:(length(E$breaks) - 1)], y.coord+E$counts, E$breaks[2:length(E$breaks)]) 
axis(side=1,at=y.coord,labels=labels[5],las=3) 

abline(a=means[1],b=0,col="red") 
abline(a=means[2],b=0,col="red") 
abline(a=means[3],b=0,col="red") 
abline(a=means[4],b=0,col="red") 
abline(a=means[5],b=0,col="red") 

이 질문은 내 질문 here 후속이다. 보시다시피 모든 작은 배수를 그래프로 나타낼 수있는 작업을 만들었습니다. 그러나, 나는 아직도 맞는 라인에 문제가 있습니다.

이 문제에 대해 감사드립니다.

+0

분명히하기 위해 모든 결합 된 데이터의 경향을 보여주는 라인을 찾고 있습니까? 연결된 그래픽에서 방정식이있는 선이됩니까? – shea

+0

예, 회선 만 작동합니다. 방정식도 좋지만 필수는 아닙니다. 개별 분포는 오차 분산이라고 생각하십시오. –

답변

0

나는 lines() 또는 abline()이 줄을 추가한다는 것을 알고 있었지만, 어떤 이유로 든 내 모든 더미 시도가 계속 엉망이되었습니다. 그런 다음 코드를 다시 보았습니다. x 축이 실제로 -0.2 - 0.2가 아니라는 것을 알았습니다. 0 - 1250입니다. 그래서 내 컴퓨터에서 내 시도가 거의 수직선을 이루었습니다. 염두에 너무

:

x_line_val <- seq(1, 1250, length.out=5) 
abline(lm(means ~ x_line_val), col="blue") 

사용도 lines(x=x_line_val, y=means) 대신 abline()을 사용할 수 있으며 라인이 더 선분과 같다.

이는 골격의 종류, 그래프의 선 방정식을 인쇄하려면,하지만 당신은 그것을 사용자 정의 할 수 있습니다

물론
figs1 <- summary(lm(means~x_line_val))$coef[c(1,2)] #get your intercept and beta1 values 
eq1 <- paste0("y ~ ",round(figs1[1],5)," + x",round(figs1[2],5)) #write out equation 
text(x=600, y=0.48, labels=eq1) #add equation to plot 

,이 방정식은 X입니다/독립 값은 약간 크기가 큰 조정 당신이 보여주고있는 것보다, 나는 방정식이 정말로 잘못되었다고 생각합니다. 적어도 실제로 그래프가 나타내는 것을 나타내지는 않습니다. 따라서 'x_line_val'이 올바른 크기로 새 버전으로 대체되는 새로운 회귀를 수행해야합니다.