반응형
남자 100명과 여자 100명을 임의로 선정하여 기름종이 사용여부를 조사하고 분할표로 만드는 예시입니다.
먼저 데이터를 생성합시다. rbinom 함수를 이용하여 이항분포에서 임의로 추출했습니다. 남자는 기름종이 사용확률을 30%로, 여자는 70%로 놓았습니다. rbinom(number,size,probability) 인데 size에 1을 입력하면 0과 1 둘중 하나가 추출됩니다.
#1.데이터 생성
set.seed(9999)
male=rbinom(100,1,0.3)
female=rbinom(100,1,0.7)
추출 결과는 아래와 같습니다.
> male
[1] 1 0 1 0 0 1 0 1 1 1 1 0 0 1 0 1 1 0 1 0 0 1 1 0 0 0 0
[28] 0 0 0 0 0 0 0 1 0 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0
[55] 1 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0
[82] 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0
> female
[1] 0 0 1 1 0 1 1 1 0 0 1 1 1 1 1 1 1 0 0 1 0 1 0 1 1 1 0
[28] 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1
[55] 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 1 0
[82] 1 1 1 1 1 1 0 1 1 1 0 0 1 0 1 0 1 1 1
이제 데이터를 아래와 같은 형태의 데이터프레임으로 만들어줄 것입니다.
sex 열과, use 열을 만들어줘야 합니다. 먼저 sex 열을 만들어봅시다.
sex=c( rep('male',length(male)) , rep('female',length(female)) )
결과는 아래와 같습니다.
> sex
[1] "male" "male" "male" "male" "male" "male" "male"
[8] "male" "male" "male" "male" "male" "male" "male"
[15] "male" "male" "male" "male" "male" "male" "male"
[22] "male" "male" "male" "male" "male" "male" "male"
[29] "male" "male" "male" "male" "male" "male" "male"
[36] "male" "male" "male" "male" "male" "male" "male"
[43] "male" "male" "male" "male" "male" "male" "male"
[50] "male" "male" "male" "male" "male" "male" "male"
[57] "male" "male" "male" "male" "male" "male" "male"
[64] "male" "male" "male" "male" "male" "male" "male"
[71] "male" "male" "male" "male" "male" "male" "male"
[78] "male" "male" "male" "male" "male" "male" "male"
[85] "male" "male" "male" "male" "male" "male" "male"
[92] "male" "male" "male" "male" "male" "male" "male"
[99] "male" "male" "female" "female" "female" "female" "female"
[106] "female" "female" "female" "female" "female" "female" "female"
[113] "female" "female" "female" "female" "female" "female" "female"
[120] "female" "female" "female" "female" "female" "female" "female"
[127] "female" "female" "female" "female" "female" "female" "female"
[134] "female" "female" "female" "female" "female" "female" "female"
[141] "female" "female" "female" "female" "female" "female" "female"
[148] "female" "female" "female" "female" "female" "female" "female"
[155] "female" "female" "female" "female" "female" "female" "female"
[162] "female" "female" "female" "female" "female" "female" "female"
[169] "female" "female" "female" "female" "female" "female" "female"
[176] "female" "female" "female" "female" "female" "female" "female"
[183] "female" "female" "female" "female" "female" "female" "female"
[190] "female" "female" "female" "female" "female" "female" "female"
[197] "female" "female" "female" "female"
이번에는 use 열을 만들어봅시다. 범주형 변수이므로 factor 함수를 사용하여 요인으로 만들어줍니다.
use=factor( c(male,female), levels=c(0,1), labels=c('no','yes') )
결과는 아래와 같습니다.
> use
[1] yes no yes no no yes no yes yes yes yes no no yes no yes
[17] yes no yes no no yes yes no no no no no no no no no
[33] no no yes no no yes yes yes no yes yes no no no no no
[49] no no no yes no no yes no no yes no no no no no yes
[65] no no yes no yes no no yes no no no no no no no no
[81] no no no yes no no no yes no yes no no no no no yes
[97] no no no no no no yes yes no yes yes yes no no yes yes
[113] yes yes yes yes yes no no yes no yes no yes yes yes no yes
[129] yes yes yes yes yes yes yes yes yes no yes yes yes yes yes yes
[145] yes yes no no no yes yes yes yes yes no yes yes yes yes yes
[161] no yes yes yes yes yes yes yes yes yes yes yes yes yes yes no
[177] yes no no yes no yes yes yes yes yes yes no yes yes yes no
[193] no yes no yes no yes yes yes
Levels: no yes
분할표를 만들어봅시다. 먼저 빈도 분할표입니다. table 함수를 이용합니다.
> table(dt)
use
sex no yes
female 25 75
male 70 30
확률 분할표는 prop.table 함수를 이용하고, table 함수의 결과를 넣어줘야 합니다.
> prop.table(table(dt))
use
sex no yes
female 0.125 0.375
male 0.350 0.150
코드 모아보기
#1. 데이터 생성
set.seed(9999)
male=rbinom(100,1,0.3)
female=rbinom(100,1,0.7)
#2. 데이터프레임 생성
sex=c( rep('male',length(male)) , rep('female',length(female)) )
use=factor( c(male,female), levels=c(0,1), labels=c('no','yes') )
dt=data.frame(sex,use)
#3. 분할표 만들기 (빈도)
tab1=table(dt)
#3. 분할표 만들기 (비율)
tab2=prop.table(tab1)
#강의 영상
반응형
'R 주제 > R 기초 및 통계 강의' 카테고리의 다른 글
[R강의] 131. 연속형 변수를 구간에 따라 범주형 변수로 바꾸는 방법 (0) | 2022.12.23 |
---|---|
[R강의] 130. 데이터프레임 열 인덱싱 결과는 두 가지 입니다. (0) | 2022.04.02 |
[R강의] 128. 엑셀 데이터 불러와서 통계량,그래프,t검정 하기 (템플릿) (0) | 2021.12.30 |
[R강의] 127. 평균±표준편차(최솟값,최댓값) 출력하는 함수 만들기 (0) | 2021.12.29 |
[R강의] 126. 히스토그램 원하는 값으로 만들기 (0) | 2021.10.12 |
댓글