1. NA : 잘못된 값이 들어 올 경우 (Not Applicable , Not Available)
> cat(1,NA,2)
1 NA 2
> sum(1,NA,2)
[1] NA
2. NULL : 값이 없을 경우
> cat(1,NULL,2)
1 2>
> sum(1,NULL,2)
[1] 3
밑에 dropbox에 있는 자료를 다운 받은 후, C에 새 폴더(r_temp)를 만든다.
> setwd("c:\\r_temp")
> txt1 <- read.csv("factor_test.txt") // txt1에 연결한다
> factor1 <- factor(txt1$blood)
> factor1
[1] O A O B AB A B O B B
Levels: A AB B O
> summary(factor1) //각 항목별 레벨과 카운트 해줌
A AB B O
2 1 4 3
> sex1 <- factor(txt1$sex)
> summary(sex1)
남 여
7 3
날짜형 데이터
> Sys.Date()
[1] "2014-11-13"
> Sys.time()
[1] "2014-11-13 21:18:19 KST"
> date( )
[1] "Thu Nov 13 21:19:58 2014"
문자를 날짜로 변환하기
> as.Date('2014-11-01') //""도 사용가능
[1] "2014-11-01“
>as.Date('2014-11-01')+7 //7일 후 날짜 출력
> as.Date("2014/11/01")
[1] "2014-11-01"
> as.Date("01-11-2014",format="%d-%m-%Y")
[1] "2014-11-01"
> as.Date("2014년 11월 1일",format="%Y년 %m월 %d일")
[1] "2014-11-01"
> as.Date("01112014",format="%d%m%Y")
[1] "2014-11-01"
> as.Date("011114",format="%d%m%y")
[1] "2014-11-01"
기준 일자를 주고 몇 일 후 찾기
> as.Date(10,origin="2014-11-10") //주어진 날짜기준으로 10일 후의 날짜
[1] "2014-11-20"
> as.Date(-10,origin="2014-11-10") //주어진 날짜 기준으로 10일 이전 날짜
[1] "2014-10-31"
날짜연산
> "2014-11-30" - "2014-11-01" //문자형(날짜형 아님)
> class("2014-11-30")
[1] "character"
> as.Date("2014-11-30") - as.Date("2014-11-01") //날짜로 변경
Time difference of 29 days
> as.Date("2014-11-01") + 5
[1] "2014-11-06"
POSIXlt
날짜를 년,월,일 로 표시하는 리스트형이라는 클래스
POSIXct
날짜는 연속적인 데이터로 인식해서 1970년을 기준으로 초 단위로 계산
R 고급과정에서 회귀분석 등을 할 때 주로 많이 사용
> as.Date("2014-11-01 20:00:00") - as.Date("2014-11-01 18:30")
Time difference of 0 days
> as.POSIXct("2014-11-01 20:00:00") - as.POSIXct("2014-11-01 18:30:30")
Time difference of 1.491667 hours
lubridate 패키지로 날짜와 시간 제어하기
> install.packages("lubridate")
> library(lubridate)
> date <- now( ) # 현재 날짜와 시간 넣기
> date
[1] "2014-11-24 20:15:11 KST"
> year(date)
[1] 2014
> month(date,label=F)
[1] 11
> month(date,label=T)
[1] 11
12 Levels: Jan < Feb < Mar < Apr < May < Jun < Jul < Aug < Sep < ... < Dec
> day(date)
[1] 24
> wday(date,label=T)
[1] 월
Levels: 일 < 월 < 화 < 수 < 목 < 금 < 토
> wday(date,label=F) //요일을 숫자로 출력 (일요일=1)
[1] 2
> date <- date - days(2) //2일 전 날짜 출력하기
> date
[1] "2014-11-22 20:15:11 KST"
> month(date) <- 2 //2월로 설정하기
> date
[1] "2014-02-22 20:15:11 KST"
> date+years(1) //1 년 추가하기
[1] "2015-11-25 15:02:01 KST
> date+months(1) //1 개월 추가하기
[1] "2014-12-25 15:02:01 KST"
> date+hours(1) //1 시간 추가하기
[1] "2014-11-25 16:02:01 KST"
> date+minutes(1) //1 분 추가하기
[1] "2014-11-25 15:03:01 KST"
> date+seconds(1) //1 초 추가하기
[1] "2014-11-25 15:02:02 KST"
> date <- hm("22:30") ; date //시간 분 지정하기
[1] "22H 30M 0S"
> date <- hms("22:30:15") ; date //시간 분 초 지정하기
[1] "22H 30M 15S"
출처
더알음 네이버카페 : http://cafe.naver.com/theareum
R라뷰 개정판 실습데이터 모음 : https://www.dropbox.com/s/16ytsq4q3rdaro4/%EB%8D%94%EB%A7%8E%EC%9D%B4_R%EB%9D%BC%EB%B7%B0_%EA%B0%9C%EC%A0%95%ED%8C%90%EC%9A%A9_%EC%8B%A4%EC%8A%B5%EC%9A%A9_%EB%8D%B0%EC%9D%B4%ED%84%B0_%EB%AA%A8%EC%9D%8C.zip?dl=0
'programing > R studio' 카테고리의 다른 글
R studio 기초 6 - readline(), read.table(), read.csv() (0) | 2018.02.05 |
---|---|
R studio 기초 5 - 행렬, 배열, List, 데이터 프레임 (0) | 2018.02.05 |
R studio 기초 4 - 변수, 벡터 (0) | 2018.02.05 |
R studio 기초 2 - 숫자형, 문자형 데이터 출력 (0) | 2018.02.05 |
R studio 기초 1 (0) | 2018.01.29 |