/*
* http://sosal.kr/
* made by so_Sal
*/
FILE I/O
일반적으로 R programming의 작업 환경은 내문서에서 시작된다.
getwd() # 현재 디렉토리 위치를 반환하는 함수
getwd returns an absolute filepath representing the current working directory of the R process; setwd(dir) is used to set the working directory to dir.
> getwd()
[1] "C:/Users/sosal/Documents"
setwd() # 현재 디렉토리 위치를 바꾸는 함수
> help(getwd)
> setwd("C:/Users/sosal/Desktop")
> getwd()
[1] "C:/Users/sosal/Desktop"
아래 2개의 데이터를 이용하여 실습해 보겠습니다.
temperature <- read.table("temperature.txt", header=TRUE, sep=" ")
"temperature.txt": 파일이름
header=TRUE: 헤더가 있는경우 헤더를 사용하며, 만약 header 파라미터를 넣지 않으면 모두 데이터로 인식한다.
sep=" ": 구분자가 띄어쓰기로 인식되는 경우.
> temperature
area temperature
1 seoul 7.2
2 incheon 8.0
3 suwon 5.4
4 daejeon 6.8
5 kwangju 8.2
6 daegu 8.5
7 busan 7.5
8 jaeju 9.5
humidity는 구분자가 ' , ' 로 되어있기 때문에, sep = ","가 된다.
> humidity <- read.table( "humidity.txt", header=TRUE, sep=",", na.strings=c(".","NA") )
na.strings=c(".", "nA") 매개변수는
파일로부터 읽어온 string 값이 '.' 또는 'NA'인 경우 실제 Not Available (NA)로 인식하도록 한다.
> humidity
area humidity
1 seoul 62.0
2 incheon 83.0
3 suwon 80.0
4 donghae 41.0
5 daejeon 71.0
6 ulsan 49.0
7 daegu 8.5
8 hadong NA
9 busan 7.5
10 jaeju 9.5
11 masan NA
merge 를 이용하여 두 테이블을 합칠 수 있다. (join)
> merge( temperature, humidity, by=c('area'), all=TRUE)
area temperature humidity
1 busan 7.5 7.5
2 daegu 8.5 8.5
3 daejeon 6.8 71.0
4 incheon 8.0 83.0
5 jaeju 9.5 9.5
6 kwangju 8.2 NA
7 seoul 7.2 62.0
8 suwon 5.4 80.0
9 donghae NA 41.0
10 hadong NA NA
11 masan NA NA
12 ulsan NA 49.0
>
all=TRUE: Kwangju는 실제 humidity가 없지만, NA 값을 넣어 사용한다. (합집합)
> merge( temperature, humidity, by=c('area'), all=FALSE) # (교집합)
area temperature humidity
1 busan 7.5 7.5
2 daegu 8.5 8.5
3 daejeon 6.8 71.0
4 incheon 8.0 83.0
5 jaeju 9.5 9.5
6 seoul 7.2 62.0
7 suwon 5.4 80.0
>
'Programing > R- programming' 카테고리의 다른 글
상관관계 분석 R programming (0) | 2014.08.21 |
---|---|
데이터 검정 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 |