2012-05-04 3 views
2

저는 통계학 학생이며 정규 분포의 무작위로 생성 된 샘플에 대해 할당의 일부로 다중 신뢰 구간을 생성하려고 시도하는 R 초보자입니다. 정규 분포의 샘플에서 다중 신뢰 구간 생성 R

난 (이중 매트릭스)는 N (50, 6^2) 분포 (25 개)의 크기의 N = 20의 샘플을 생성하는 기능

data <- replicate(25, rnorm(20, 50, 6)) 

사용.

제 질문은이 배포판의 각 샘플에 대해 95 % 신뢰 구간을 찾는 방법입니다. 나는 각 샘플에 대해 샘플 평균과 샘플 표준 편차를 찾기 위해 colMeans (데이터)와 sd (데이터)를 사용할 수 있음을 알고 있지만, 모든 열에 대한 신뢰 구간을 생성 할 수있는 함수를 생각하려고하는 두뇌 방귀를 가지고 있습니다. 더블 매트릭스 (데이터). 지금 현재로서는

내 (매우 조) 용액을 좌우 경계 2 개 벡터를 생성하는 기능

left <- function (x,y){x-(qnorm(0.975)*y/sqrt(20))} 
right <- function (x,y){x+(qnorm(0.975)*y/sqrt(20))} 

left(colMeans(data), sd(data) 
right(colMeans(data), sd(data) 

을 만드는 구성된다. 제가 이것을 할 수있는 더 좋은 방법이 있는지 알려주십시오.

+0

일반적인 사소한 편집 외에도 나는 왼쪽 및 오른쪽 기능을 만드는 코드에서 오타라고 가정 한 내용을 수정했습니다. 내가 틀렸다고 느낀다면 굴러 가도된다. – joran

+0

흠, 측정 된 평균과 S.D에만 기반한 샘플의 신뢰 구간에 대한 일반적인 공식을 가지고 있다면, 그 공식의 멋진 벡터화 된 R 버전을 작성하면 모든 답변을 한 번에 얻을 수 있습니다. 또는 한 교수가 말하기를 (인터넷이 존재하기 전에) "해결하지 마라. 책에서 문제를 발견하고 똑같은 일을해라!" :-) –

답변

3

t.test() 기능을 사용할 수 있다고 가정합니다. 주어진 수의 벡터에 대한 평균 및 95 % 신뢰 구간을 반환합니다. 당신이 당신의 데이터를 한 후

# Create your data 
data <- replicate(25, rnorm(20, 50, 6)) 
data <- as.data.frame(data) 

, 당신은 lapply() 기능을 사용하여 모든 컬럼에 t.test() 기능을 적용 할 수 있습니다.

# Apply the t.test function and save the results 
results <- lapply(data, t.test) 

신뢰 구간 또는 평균값 만보고 싶다면 달러 기호 연산자를 사용하여 호출 할 수 있습니다. 예를 들어, 원래 데이터 프레임의 열 하나, 다음과 같은 입력 할 수 있습니다 : 당신은 결과 데이터 프레임에 이러한 데이터를 저장하는 더 웅변 방법을 마련 할 수

# Check 95% CI for sample one 
results[[1]]$conf.int[1:2] 

. str() 명령을 사용하여 개체에서 가져올 수있는 정보의 개별 비트를 언제든지 볼 수 있습니다. 예 :

# Example 
example <- t.test(data[,1]) 
str(example) 

희망이 있습니다. 자세한 내용을 보려면 다음 링크를 참조하십시오. Using R to find Confidence Intervals