몬테카를로 시뮬레이션을하고 있는데, 동일한 플롯에서 다양한 샘플 크기로 시뮬레이션을위한 계수 추정 밀도를 표시해야합니다. scale_color_grey
을 사용할 때. 샘플 크기를 요소로 사용하여 동일한 데이터 프레임에 내 계수 추정을 넣었습니다. 요인을 levels()
으로 쿼리하면 올바른 순서 (작은 표본 크기에서 가장 큰 표본 크기까지)에 있습니다. 그러나, 다음 코드는 순서가 전설에 올바른하는 규모를 제공하지만, 밝은 회색의 색상 이동scale_color_grey()가 포함 된 잘못된 범례 주문
montecarlo <- function(N, nsims, nsamp){
set.seed(8675309)
coef.mc <- vector()
for(i in 1:nsims){
access <- rnorm(N, 0, 1)
health <- rnorm(N, 0, 1)
doctorpop <- (access*1) + rnorm(N, 0, 1)
sick <- (health*-0.4) + rnorm(N, 0, 1)
insurance <- (access*1) + (health*1) + rnorm(N, 0, 1)
healthcare <- (insurance*1) + (doctorpop*1) + (sick*1) + rnorm(N, 0, 1)
data <- as.data.frame(cbind(healthcare, insurance, sick, doctorpop))
sample.data <- data[sample(nrow(data), nsamp), ]
model <- lm(data=sample.data, healthcare ~ insurance + sick + doctorpop)
coef.mc[i] <- coef(model)["insurance"]
}
return(as.data.frame(cbind(coef.mc, nsamp)))
}
sample30.df <- montecarlo(N=1000, nsims=1000, nsamp=30)
sample100.df <- montecarlo(1000,1000,100)
sample200.df <- montecarlo(1000, 1000, 200)
sample500.df <- montecarlo(1000, 1000, 500)
sample1000.df <- montecarlo(1000, 1000, 1000)
montecarlo.df <- rbind(sample30.df, sample100.df, sample200.df, sample500.df, sample1000.df)
montecarlo.df$nsamp <- as.factor(montecarlo.df$nsamp)
levels(montecarlo.df$nsamp) <- c("30", "100", "200", "500", "1000")
##creating the plot
montecarlo.plot <- ggplot(data=montecarlo.df, aes(x=coef.mc, color=nsamp))+
geom_line(data = subset(montecarlo.df, nsamp==30), stat="density")+
geom_line(data = subset(montecarlo.df, nsamp==100), stat="density")+
geom_line(data = subset(montecarlo.df, nsamp==200), stat="density")+
geom_line(data = subset(montecarlo.df, nsamp==500), stat="density")+
geom_line(data = subset(montecarlo.df, nsamp==1000), stat="density")+
scale_color_grey(breaks=c("30", "100","200", "500", "1000"))+
labs(x=NULL, y="Density of Coefficient Estimate: Insurance", color="Sample Size")+
theme_bw()
montecarlo.plot
scale_color_grey
에 breaks
인수를 사용하지 겉보기에 임의의 순서로 회색 어두워하는 전설을 반환 음영이 올바른 순서이지만, 작은 표본 크기에서 큰 표본 크기로 증가하지는 않습니다.
여기에 무슨 일이 일어나고 있습니까? 내가 이해하는 한, ggplot2
은 색상을 지정하고 범례를 작성하는 요소의 순서 (올바른)를 따라야합니다. 전설과 회색 음영을 모두 최소 샘플 크기에서 가장 작은 샘플 크기로 늘리려면 어떻게해야합니까?