줄기그림과 기술통계 구하기
교재 p7
1. 문제내용
표3 의 데이터를 이용하여 저학번, 고학번으로 나누어 표 7, 표8 에 나와있는 각각의 줄기-잎그림과 기술통계를 R로 구하여 보자. 저학번과 고학번의 성적의 차이를 알아 보도록 하자.
2. 해결과정
# < 표 3 > 에 나와 있는 데이터를 2열로 1열을 level 과 2열을 score 로 저장하여 R에서 그 파일을 불러와 사용하였다.
data=read.table("c:/R/scoredata.txt",header=T)
low=data[data$level=="1",] # 데이터에서 level이 1인 값을 low에 저장하였다.
high=data[data$level=="2",] # 데이터에서 level이 2인 값을 high에 저장하였다.
LOW<-low[,-1] # low의 앞의 열을 제외하고 점수에 대해서만 LOW에 저장하였다.
HIGH<-high[,-1] # high의 앞의 열을 제외하고 점수에 대해서만 HIGH에 저장하였다.
# LOW, HIGH의 값으로 줄기-잎그림을 그린다.
stem(LOW) # ( 저학번:1 ) 줄기-잎그림
stem(HIGH) # ( 고학번 : 2 ) 줄기-잎그림
# N : 저학년 고학년, 각각의 수를 세어 저장한다.
N=as.vector(table(data[,1]))
N=matrix(N,ncol=1,byrow=T)
# 저학번과 고학번의 표준편차를 구해 STD라는 2행 X 1열의 행렬로 저장해 주었다.
STD=c(sd(LOW),sd(HIGH))
STD=matrix(STD,ncol=1,byrow=T)
# 저학번과 고학번의 다섯수치요약과 평균을 summary을 이용하여 구하여 그것을
# 2행 X 6열로 만들어 SUMMARY 에 저장해 주었다.
SUMMARY=c(summary(LOW),summary(HIGH))
SUMMARY=matrix(SUMMARY,ncol=6,byrow=T)
# 앞에서 구한 N, STD, SUMMARY의 값들을 열 먼저 입력해주는 Total이라는 행렬로 만들어
# 저학번, 고학번 차례로 2행으로 저장하고 dimnames를 이용하여 각각의 값들의 이름을 지정# 해 주어 저학번과 고학번의 기술통계를 구하면 다음과 같다.
Total=c(N,STD,SUMMARY)
Total=matrix(Total,nrow=2)
dimnames(Total)=list(c("저학번","고학번"),
c("N","STDEV","MIN","Q1","MEDIAN","MEAN","Q3","MAX"))
기술 통계 결과창
3. 나의 의견
줄기-잎 그림을 그릴때 stem을 이용하면 된다는 사실은 알고있었다. 하지만 저학년을 예로 볼때 low에 대해 그리면 "1"과 "점수" 두개에 대해 각각의 줄기 입그림이 그려진다. 그러나 low[,-1]이라고 지정해 주면 앞의 열이 하나 제외되고 나머지에 대해 줄기-잎 그림이 그려지는 것을 알게 되었다.
내가 또 어려움에 처했던 것은 각각의 값들을 Total 로써 합칠 때 였다.
난 저학번과 고학번 따로 값들을 구해 그것들을 행으로 합치려 했는데 배열의 수가 맞지 않는다며 잘 되지 않았었다. 여러가지 시행착오를 거친 후 저학번&고학번의 각각의 기술통계 값들을 2행으로 이루어진 행렬로 저장하여 그것들을 Total로 합쳤다.
나는 간단한 거라 금방 끝날 줄 알았는데.. 예상외로 어려움을 겪어 오래 걸려서 나의 답답한 심정을 R프로그램을 내앞으로 불러 왜 이해를 못하냐며 말하고 싶었다. ^^
저학번과 고학번의 성적의 차이를 줄기-잎 그림으로 한눈에 알 수 있었고, 기술통계량으로 부터 평균과 최저, 최고값등이 고학년이 저학년보다 높은 것을 알 수 있었다.
웨딩휴 개념좀 알라 낭만투덜이 칠성사 구상 이사이사올 라스트 나이트 leon 자료실 밤쓰의 메타포 꿈꾸는 꼬마 철학자
