[사용된 함수]

함수명

설명

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 반환
[1300
> 3e-2  #3*10^-2
[10.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 값은 제외하고 나머지 값만 더해서 결과가 나옴.
[13
> sum(1,2,NA,na.rm=T) #na.rm=T 로 NA 값을 제거하고 계산
[13
> 
> 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) # 레벨 개수
[12
> 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

+ Recent posts