[사용된 함수]
함수명 | 설명 |
as.integer() | 정수형으로 변환 |
as.numeric() | 숫자형으로 변환 |
as.ordered() | 순서형으로 변환 |
is.integer() | 정수형인지 확인, T,F 반환 |
is.numeric() | 숫자형인지 확인, T,F 반환 |
is.logical() | 논리형인지 확인, T,F 반환 |
is.na() | NA형인지 확인, T,F 반환 |
is.null() | NULL형인지 확인, T,F 반환 |
class() | 데이터 형태 확인 |
sum() | 합 |
factor() | 범주형 변수 만들기 |
nlevels() | 범주형 변수 레벨 개수 반환 |
levels() | 범주형 변수 레벨명 반환 |
ordered() | 순서형 변수 만들기 |
Sys.Date() | 컴퓨터 운영상의 날짜만 보여주는 함수 |
Sys.time() | 날짜와 시간까지 다 보여주는 함수 |
date() | 미국식 날짜와 시간 반환 |
as.Date() | 날짜형으로 변환 |
seq() | 일련의 숫자열, 날짜열 반환 |
objects() | 저장된 변수들 반환 |
ls() | 저장된 변수들 반환 |
rm() | 변수 삭제 |
complete.cases() | na가 아니면 T반환 |
[수치형(Numeric) & 산술연산자]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | > # 수치형(Numeric) & 산술연산자 > 100000 #0 이 5개부터는 e로 표시 [1] 1e+05 > 3e2 #3 * 10^2 이라는 뜻이므로 300 반환 [1] 300 > 3e-2 #3*10^-2 [1] 0.03 > > a<-as.integer("1") > b<-as.numeric("2") > class(a) [1] "integer" > class(b) [1] "numeric" > > is.numeric("1") [1] FALSE > is.integer(a) [1] TRUE | cs |
[문자형(Character)]
1 2 3 4 | > "First" [1] "First" > 'Second' [1] "Second" | cs |
[논리형(Logical) & 논리 연산자]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | > #논리형(Logical) & 논리 연산자 > > # 0을 제외한 모든 수는 TRUE > 3 & 0 # FALSE [1] FALSE > 3 & 2 # T&T는 T [1] TRUE > 3 | 0 # 참 or 거짓 이라서 결과는 참(TRUE) [1] TRUE > !0 #거짓이 아닌 것이라서 참(TRUE) [1] TRUE > !1 #참이 아닌 것이라서 거짓(FALSE) [1] FALSE > > is.logical(F) [1] TRUE | cs |
[NA형 & NULL형]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | > # NA형 & NULL형 > aa <- NA #aa 변수에 NA값 입력 > bb <- NULL #bb 변수는 초기화만 시켜둠. > print (aa) [1] NA > print (bb) NULL > > sum(1,NA,2) #NA 를 더하니까 결과가 NA 로 출력 [1] NA > sum(1,NULL,2) #NULL 값은 제외하고 나머지 값만 더해서 결과가 나옴. [1] 3 > sum(1,2,NA,na.rm=T) #na.rm=T 로 NA 값을 제거하고 계산 [1] 3 > > is.na(aa) [1] TRUE > is.logical(aa) #logical변수이기도 NA이기도 함 [1] TRUE > is.null(bb) [1] TRUE > > # (TRUE, NA, FALSE) 연산 > 3&NA # T&NA = NA [1] NA > 3|NA # T|NA = TRUE [1] TRUE > 0&NA # F&NA = False [1] FALSE > 0|NA # F|NA = NA [1] NA | cs |
1 2 3 4 | # na값 지우기 dd<-c(1:5, NA, NA) gg <- dd[!is.na(dd)] complete.cases(dd) # !is.na()와 같음, na가 아니면 T | cs |
[Factor형(범주형), ordered Factor형(순서형)]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | > gender <- factor(c("m","n"), levels = c("m","f")) ; gender # NA값 나옴 [1] m <NA> Levels: m f > gender2 <- factor(c("m","m","f"), levels = c("m","f")) ; gender2 [1] m m f Levels: m f > > nlevels(gender) # 레벨 개수 [1] 2 > levels(gender) # 레벨명명 [1] "m" "f" > levels(gender)[1] [1] "m" > > grade <- factor(c("A","B"), c("F","D", "C", "B","A"), ordered=TRUE) #순서형 데이터, 우열있음 > grade # A,B,C,D,F 순으로 순서 존재 [1] A B Levels: F < D < C < B < A > grade2 <- ordered(c("A","B"), c("F","D", "C", "B","A"));grade2 # 순서형 변수 생성 [1] A B Levels: F < D < C < B < A | cs |
1 2 3 4 5 6 7 8 | > # level의 순서를 바꾸는 것은 factor에서만 가능 > # as.ordered에서는 level이 알파벳 순이다. > as.ordered(c("H","L")) [1] H L Levels: H < L > as.ordered(c("L","H")) [1] L H Levels: H < L | cs |
[날짜형(Date)]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | > # 날짜형(Date) > Sys.Date() # 컴퓨터 운영상의 날짜만 보여주는 함수 [1] "2019-05-11" > Sys.time() # 날짜와 시간까지 다 보여주는 함수 [1] "2019-05-11 01:15:49 KST" > date( ) #미국식 날짜와 시간 반환 [1] "Sat May 11 01:15:50 2019" > as.Date('2014-11-01') #홑따옴표 혹은 겹따옴표 사용 [1] "2014-11-01" > as.Date("2014/11/01") # 두 형태 모두 날짜 표시 가능 [1] "2014-11-01" > > # %d 일 2자리 > # %m 월 2자리 > # %y 년 2자리 > # %Y 년 4자리 > 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") #년도가 대문자 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" > > a <- as.Date("2014-11-30") - as.Date("2014-11-01") > class(a) #difftime 형태 [1] "difftime" > as.Date("2014-11-01") + 5 # 수치형과 연산 가능 [1] "2014-11-06" | cs |
[변수]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | > #변수 > comp <- c(1,"2") #둘다 문자로 들어감, 문자가 더 큰 개념 > comp [1] "1" "2" > > num1 <- 1 > char1 <- "a" > num1 + char1 #숫자+문자의 연산은 불가 Error in num1 + char1 : non-numeric argument to binary operator > > seq1 <- 1:5 #integer 형식이다. not numeric > class(seq1) [1] "integer" > > # 연속적인 일 추가하기 > date1 <- seq(from=as.Date('2014-01-01'), to=as.Date('2014-01-31'),by="day") ;date1 [1] "2014-01-01" "2014-01-02" "2014-01-03" "2014-01-04" "2014-01-05" [6] "2014-01-06" "2014-01-07" "2014-01-08" "2014-01-09" "2014-01-10" [11] "2014-01-11" "2014-01-12" "2014-01-13" "2014-01-14" "2014-01-15" [16] "2014-01-16" "2014-01-17" "2014-01-18" "2014-01-19" "2014-01-20" [21] "2014-01-21" "2014-01-22" "2014-01-23" "2014-01-24" "2014-01-25" [26] "2014-01-26" "2014-01-27" "2014-01-28" "2014-01-29" "2014-01-30" [31] "2014-01-31" > > # 월 추가하기 > date2 <- seq(as.Date('2014-01-01'), as.Date('2014-05-31'),by='month') ; date2 [1] "2014-01-01" "2014-02-01" "2014-03-01" "2014-04-01" "2014-05-01" > > # 년 추가하기 > date3 <- seq(from=as.Date('2014-01-01'), to=as.Date('2020-05-31'),by='year') ; date3 [1] "2014-01-01" "2015-01-01" "2016-01-01" "2017-01-01" "2018-01-01" [6] "2019-01-01" "2020-01-01" > > # 저장된 변수들 반환 > objects( ) [1] "a" "aa" "b" "bb" "char1" "comp" "date1" [8] "date2" "date3" "gender" "gender2" "grade" "grade2" "num1" [15] "seq1" > objects(all.names=T) # 숨겨져 있는 변수까지 모두 확인 [1] ".Random.seed" "a" "aa" "b" [5] "bb" "char1" "comp" "date1" [9] "date2" "date3" "gender" "gender2" [13] "grade" "grade2" "num1" "seq1" > ls() [1] "a" "aa" "b" "bb" "char1" "comp" "date1" [8] "date2" "date3" "gender" "gender2" "grade" "grade2" "num1" [15] "seq1" > > rm(date3) #date3 변수 삭제 > rm(list=ls( )) #모든 변수 삭제 | cs |
출처 - 경영프로그래밍 강의 자료 (양성병 교수님)
'IT,인터넷 관련 학습 > R언어 학습' 카테고리의 다른 글
[R] 행렬 (Matrix) (0) | 2019.05.11 |
---|---|
[R] 벡터 (Vector) (0) | 2019.05.11 |
빅데이터 통계학 (4) (0) | 2019.04.05 |
빅데이터 통계학 (3) (0) | 2019.04.05 |
빅데이터 통계학(2) (0) | 2019.04.05 |