1. 개념wolfpack.hnu.ac.kr/stat_notes/softwares/about_r/... · 2018. 5. 8. · 데이터 1...

6
데이터 1 1. 개념 데이터는 열은 측정변수, 행은 조사 개체의 관측값으로 이루어진 행렬 개념 통계소프트웨어 사용 시 반드시 열에는 변수, 행은 개체로 이루어져 있어야 한다. 동일 변수는 반드시 한 줄에 들어가 있어야 한다. 예를 들어 남자3명, 여자 2명의 통계학 점수의 차이를 보고 싶다면 엑셀에서는 다음과 같이 입력하여도 분석이 가능하다. ---> 그러나 통계소프트웨어 1개 변수 1개 열 로직에 의해 다음과 같이 입력하여 분석한다 성별변수, 통계학 점수 변수 - 2개임 변수=확률변수 : (기호) X=점수 (x 1 = 85, x 2 = 92,..., x 5 = 88) , G=성별 (g 1 = M, g 2 = M,..., g 5 = F ) score<-c(85,92,81,89,88) gender<-c(rep('Male',3),rep('Female',2)) cbind(score,gender) 2. 변수의 종류 1) 데이터 분석 데이터 분석에서는 측정형, 범주형으로 나누고 일반적으로 서열 척도는 측정형으로 간주하여 분석한다. 1

Upload: others

Post on 18-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1. 개념wolfpack.hnu.ac.kr/Stat_Notes/softwares/about_R/... · 2018. 5. 8. · 데이터 1 1.개념 데이터는 열은 측정변수, 행은 조사 개체의 관측값으로 이루어진

데이터1

1. 개념

데이터는 열은 측정변수, 행은 조사 개체의 관측값으로 이루어진 행렬 개념

•통계소프트웨어 사용 시 반드시 열에는 변수, 행은 개체로 이루어져 있어야 한다.

•동일 변수는 반드시 한 줄에 들어가 있어야 한다. 예를 들어 남자3명, 여자 2명의 통계학 점수의 차이를 보고 싶다면 엑셀에서는 다음과 같이 입력하여도 분석이 가능하다.

--->

그러나 통계소프트웨어 1개 변수 1개 열 로직에 의해 다음과 같이 입력하여 분석한다

•성별변수, 통계학 점수 변수 - 2개임

•변수=확률변수 : (기호) X=점수 (x1 = 85,x2 = 92,...,x5 = 88) , G=성별 (g1 = M, g2 = M, . . . , g5 = F )

score<-c(85,92,81,89,88)gender<-c(rep('Male',3),rep('Female',2))cbind(score,gender)

2.변수의 종류

1) 데이터 분석

데이터 분석에서는 측정형, 범주형으로 나누고 일반적으로 서열 척도는 측정형으로 간주하여 분석한다.

1

Page 2: 1. 개념wolfpack.hnu.ac.kr/Stat_Notes/softwares/about_R/... · 2018. 5. 8. · 데이터 1 1.개념 데이터는 열은 측정변수, 행은 조사 개체의 관측값으로 이루어진

(1) 측정형 metric, quantitative 변수 : 숫자로 측정 가능한 변수 - 성적, 소득, 키, 몸무게

•비율 ratio 척도 : 배수 개념이 적절한 변수 - 대부분의 측정형 변수

•구간 interval 척도 : 배수 개념이 없음 - 온도, IQ

(2)범주형 non-metric, qualititive 변수 : 개체를 분류하기 위한 변수

•명목 nominal 척도 : 성별, 거주지역, 직업군

•순서 , 서열 ordinal 척도 : 개체의 등급 분류 (예) 알파벳 학점, 5점 리커트 척도 - 측정형 변수로 분석

2) 시간적 개념

(1) 시계열 time series, longitudinal - 계량경제 모형 econometric

변수가 시간적 흐름을 가짐 : xt (예) 일별 KOSPI지수

(2)횡단 자료 cross-sectional - 일점 시점의 데이터

3) R 에서 데이터 타입

•data.frame() : 통계분석 함수를 이용하여 다양한 분석이 가능

•as.matrix() : 행렬 형식의 데이터, 함수의 대부분을 사용할 수 있음

• ts() : 시계열 데이터

read.csv(), read.table(), read.sas7bdat()를 이용하여 외부 데이터를 불러오면 자동 data.frame이다.

smsa<-read.csv('http://wolfpack.hnu.ac.kr/Stat_Notes/example_data/SMSA_USA.csv')dim(smsa);names(smsa)is.data.frame(smsa)is.matrix(smsa)is.matrix(as.matrix(smsa))

2

Page 3: 1. 개념wolfpack.hnu.ac.kr/Stat_Notes/softwares/about_R/... · 2018. 5. 8. · 데이터 1 1.개념 데이터는 열은 측정변수, 행은 조사 개체의 관측값으로 이루어진

•숫자형 변수 : is.numeric(오브젝트) - 확인, as.numeric(오브젝트) - 변경

•문자형 변수 : is.charater(오브젝트) - 확인, as.character(오브젝트) - 변경

문자형 변수 바꾸기

1) 오브젝트에서 관심 단어 위치 찾음

grep('한남',c('대학교','한남','대전'))

2) 문장 중 관심 단어 선택 : substr(문장, 시작위치, 끝나는 위치)

substr('한남대학교 통계학과, 최고!',3,7)

한글도 1 스페이스, 공벡도 1스페이스임

3)단어 변환 sub(‘변경하려는 단어’, ‘변경단어’, ‘문장’)

sub('\\s','.','한남대학교 통계학과, 최고!')sub('','.','한남대학교 통계학과, 최고!')sub(',','.','한남대학교 통계학과, 최고!')sub('최고','만세','한남대학교 통계학과, 최고!')

3

Page 4: 1. 개념wolfpack.hnu.ac.kr/Stat_Notes/softwares/about_R/... · 2018. 5. 8. · 데이터 1 1.개념 데이터는 열은 측정변수, 행은 조사 개체의 관측값으로 이루어진

‘\\s’ 는 공백임, ‘’은 공백 아님

4)문장 분리 : strsplit('문장','분리기호 혹은 단어')

strsplit('한남대학교 통계학과, 최고!','\\s')strsplit('한남대학교 통계학과, 최고!',',')strsplit('한남대학교 통계학과, 최고!','')

5) 문장 만들기 : 단어와 오브젝트 연결

paste('X',1:3,sep='')paste('X',1:3,sep='_')paste('오늘은',Sys.Date())

4

Page 5: 1. 개념wolfpack.hnu.ac.kr/Stat_Notes/softwares/about_R/... · 2018. 5. 8. · 데이터 1 1.개념 데이터는 열은 측정변수, 행은 조사 개체의 관측값으로 이루어진

6)단어개수 : nchar(‘문장’)

nchar('한남대학교 최고')

한글 1개, 공백 1개 단어

7) 대소문자 변환

toupper('Abc')tolower('Abc')

문자 데이터(예 주소) 중 일부 단어(읍면동)만 가져오기

SMSA 시 이름 데이터는 도시 이름과 주(state) 이름이 ,로 분리되어 있다. city_name 변수를 도시 이름과 주 이름으로 분리하여 2개 변수로 만들어 보자.

head(smsa$city_name,3)head(strsplit(as.character(smsa$city_name),','),3)

as.character() 함수를 이용하여 문자형 변수로 전환하고 콤마(,)에 의해 분리된다. 문제를 나누어진 문장을 위치별로 저장할 수 없다는 단점이 있다.

여전히 문제다. 위치 지정이 안된다.

5

Page 6: 1. 개념wolfpack.hnu.ac.kr/Stat_Notes/softwares/about_R/... · 2018. 5. 8. · 데이터 1 1.개념 데이터는 열은 측정변수, 행은 조사 개체의 관측값으로 이루어진

8) str_sub() 함수 이용 : str_sub(문장,시작위치, 끝 위치)

substr() 함수와 동일하나 음의 위치가 가능하다. 음의 의미는 뒤고 부터 가능함

#install.packages('stringr')library(stringr)str_sub('한남대학교 통계학과, 최고!',-3,-1)

state.name<-str_sub(smsa$city_name,-2,-1)head(state.name,3)

9) str_split() 함수 이용 : str_split(문장,‘분리기호’,n=나누는 개수)

strsplit() 함수와 동일하지만 나누는 개수를 지정할 수 있음

library(stringr)head(str_split(smsa$city_name,',',n=2),3)

여전히 데이터 활용 가능하지 않음

10)str_split_fixed() 함수 이용 : str_split_fixed(문장,‘분리기호’,n=나누는 개수)

str_split() 함수와 동일하지만 행렬로 저장가능하다.

library(stringr)city.name<-str_split_fixed(smsa$city_name,',',n=2)city.name[1,]

6