티스토리 뷰
존스 홉킨스 대학의 로저 펜(Roger, D. Peng) 교수의 R 프로그래밍 강좌의 프로그래밍 테스트를 한글로 옮겨본다.
R 프로그래밍을 배우는 사람들은 한번씩 테스트 해보기 바란다.
데이터
데이터는 다음 링크에서 다운로드 하면 된다.
문제 - 오염된 값을 모두 측정한 경우의 수 계산
지정된 디렉토리의 파일들을 읽어서, 각 파일 내에 "sulfate"와 "nitrait"값이 모두 측정된 경우의 수를 계산하는 함수를 작성한다.
함수의 결과값으로 반드시 데이터 프레임을 리턴하도록 한다.
첫번째 칼럼은 파일 이름, 즉 모니터링 아이디(ID) 값으로 하고, 두번째 칼럼은 오염된 값을 모두 측정한 수로 한다.
함수의 프로토타입은 다음과 같다.
complete <- function(directory, id = 1:332) { ## 'directory'는 CSV 파일의 위치를 나타내는 길이가 1인 문자열 벡터 ## 'id'는 계산에 사용할 모니터링 아이디 값을 나타내는 정수형 벡터 ## 결과값으로 리턴할 데이터프레임의 형식: ## id nobs ## 1 117 ## 2 1041 ## ... ## 'id'는 모니터링 아이디, 'nobs'는 오염 값을 모두 측정한 경우의 수 }
위 파일을 complete.R로 저장하고 다음 결과와 동일하게 나오면 된다.
source("complete.R")
complete("specdata", 1)
## id nobs
## 1 1 117
complete("specdata", c(2, 4, 8, 10, 12))
## id nobs
## 1 2 1041
## 2 4 474
## 3 8 192
## 4 10 148
## 5 12 96
complete("specdata", 30:25)
## id nobs
## 1 30 932
## 2 29 711
## 3 28 475
## 4 27 338
## 5 26 586
## 6 25 463
complete("specdata", 3)
## id nobs
## 1 3 243
스스로 프로그래밍을 하고 결과를 확인해 보기 바란다.
댓글로 질문은 자유롭게 올려주시고, 다른 사람들을 위해서 정답은 올리지 말자~~
미니의 R 주요 강좌...
R의 lapply, sapply, vapply를 이해하자~
'Cloud&BigData > R' 카테고리의 다른 글
R의 lapply, sapply, vapply를 이해하자~ (0) | 2015.09.29 |
---|---|
[R 퀴즈#3] R 프로그래밍 테스트 - Air Pollution 파트 3 (1) | 2015.09.25 |
[R 퀴즈#1] R 프로그래밍 테스트 - Air Pollution 파트 1 (1) | 2015.09.21 |
R 학습도구 Swirl~ (0) | 2015.09.14 |
R 데이터셋의 일부 데이터 가져오기 (0) | 2015.09.07 |