/*
* http://sosal.kr/
* made by so_Sal
*/
실습데이터)
> weight <- c(65.4, 55, 380, 72.2, 51, NA)
> height <- c(170, 155, NA, 173, 161, 166)
> gender <- c("M", "F","M","M","F","F")
> testDate <- c("2013/09/01", "2013/09/01", "2013/09/05", "2013/09/14", "2013/10/11", "2013/10/26")
> patients <- data.frame( weight = weight, height=height, gender=gender, testDate=testDate)
> patients.sub <- patients[ ,c("weight","height")]
> patients.sub
weight height
1 65.4 170
2 55.0 155
3 380.0 NA
4 72.2 173
5 51.0 161
6 NA 166
1. subset (부분집합)
patients 변수에서 몸무게가 60키로 이상히고, 성별이 남자인 경우를 추출하는 경우
- 조건문을 사용하는 경우
> patients[ (patients$weight > 60 & patients$gender=='M'), ]
weight height gender testDate
1 65.4 170 M 2013-09-01
3 380.0 NA M 2013-09-05
4 72.2 173 M 2013-09-14
>
# 조건문을 사용할 경우 결측치에 대한 데이터를 다루기 어렵다.
- subset 함수를 사용하는 경우
> subset(patients, weight>60 & gender == 'M', select = c('weight', 'height'))
weight height
1 65.4 170
3 380.0 NA
4 72.2 173
2. transform
patients의 weight의 단위를 kg에서 pounds로 바꿔 weight_pounds 변수를 추가하기
> transform( patients, weight_pounds = 2.2*weight )
weight height gender testDate weight_pounds
1 65.4 170 M 2013-09-01 143.88
2 55.0 155 F 2013-09-01 121.00
3 380.0 NA M 2013-09-05 836.00
4 72.2 173 M 2013-09-14 158.84
5 51.0 161 F 2013-10-11 112.20
6 NA 166 F 2013-10-26 NA
물론 cbind 함수를 이용하여 같은 행동을 할 수 있다.
> cbind(patients, data.frame(weight_pounds = 2.2 * patients$weight))
weight height gender testDate weight_pounds
1 65.4 170 M 2013-09-01 143.88
2 55.0 155 F 2013-09-01 121.00
3 380.0 NA M 2013-09-05 836.00
4 72.2 173 M 2013-09-14 158.84
5 51.0 161 F 2013-10-11 112.20
6 NA 166 F 2013-10-26 NA
>
3. aggregate, table
2개 이상의 factor를 group화 하여 함수를 적용하는 경우에 사용하는 함수.
aggregate( data, by=list( factor1, factor2 ... ), function )
2개의 factor간에 2x2 contingency table을 구성하고 싶은 경우 table 함수를 이용한다.
table( data$factor1, data$factor2)
'Programing > R- programming' 카테고리의 다른 글
데이터 검정 R programming (2) | 2014.08.21 |
---|---|
파일 입출력, R 프로그래밍 (0) | 2014.08.21 |
apply 함수군 (lapply, sapply, tapply) R 프로그래밍 (1) | 2014.08.21 |
결측치 NA (Missing value) 연산 / R programming (0) | 2014.08.21 |
R프로그래밍 범주형 변수 factor (categorical variable) (0) | 2014.08.21 |