제 책 2.6에서 100,000개의 모집단을 만들어,
n=10의 표본 뽑는걸 10,000 반복해
10,000개의 표본평균과 표본 분산을 for()를 이용해 구했습니다.
# 모집단
height=rnorm(n=100000, mean=175, sd=5)
# 표본 평균, 표분 분산
M=NULL
V=NULL
for(i in 1:10000){
x=sample(height, size=10)
M[i]=mean(x)
V[i]=var(x)
}
replicate(10000, mean(sample(height, size=10))) 하면 for()루프를 사용하지 않고도 10,000개 평균은 쉽게 구해지네요.
그런데 이 경우 평균만 구해지는데,
루프를 피하면서 평균, 분산을 한꺼번에 구하는 수는 없을까요?
첫댓글 평균과 분산을 함께 구해주는 함수를 만들어서 하면 되지 않을까요? 코드가 엉성하지만 그냥 해봤습니다.
ft <- function(data,n){
c( mean(sample(data,size=n)), var(sample(data,size=n)) )
}
replicate(10000,ft(height,10),simplify = F)
오~ 함수를 쓰면 되는군요. 감사합니다^^