1. 데이터형
R은 빅데이터를 분석하는 도구로, 데이터를 읽어들여 처리하기 위한 다양한 데이터형을 제공하고 있다. 빅데이터 전문가로서 이러한 데이터형에 대하여 숙지하고, 적재적소에 데이터형을 사용하는 것이 필요하다. 본 장에서는 R에서 사용하는 데이터형에 대하여 학습하여 본다.
1-1. R의 데이터형
R에서는 논리형, 숫자형, 정수형, 복소수형, 문자형, 원형 등의 데이터형을 제공한다.
- 논리형 (Logical) - 숫자형 (numeric) - 정수형 (integer) - 복소수형 (complex) - 문자형 (character) - 원형 (raw) |
1-2. 논리형 (Logical)
- TRUE(참), FALSE(거짓)의 값을 가진다.
# 논리 데이터형 테스트
1 < - TRUE
class(1)
[1] "logical"
1-3. 숫자형 (numeric)
- 실수를 표현하기 위한 데이터형
# 숫자 데이터형 테스트
n <-3.1415
class(n)
[1] "numeric"
1-4. 정수형 (integer) - 소수점이 없는 정수를 표현
# 정수 데이터형 테스트
i <- 1147L
class(i)
[i] "integer"
1-5. 복소수형 (complex)
- 복소수를 표현하고자 할 때 사용
# 복소수 데이터형 테스트
c <- 3+5ㅑ
class(c)
[1] "complex"
1-6. 문자형 (character)
- 문자 또는 문자열을 표현할 때 사용
# 문자 데이터형 테스트
s <- "hello"
class(s)
[1] "character"
1-7. 원형 (raw)
- 컴퓨터 시스템에서 표현하는 기본 형태
# 원형 데이터형 테스트
r <-charToRaw("hello")
r
[1] 68 65 6c 6c 6f
2. R객체 (R-Object)
R객체는 R에서 지원하는 특수한 형태의 객체(object)로, 자주 쓰이는 객체는 적재적소에 활 용하는 것이 필수이다. 다음은 R에서 자주 쓰이는 R객체들이다.
- 자주 쓰이는 R객체들 * 벡터 (Vectors) * 리스트 (lists) * 행렬 (matrices) * 배열 (arrays) * 요인 (factors) * 데이터 프레임 (data frames) |
2-1. 벡터 (Vectors)
- 다수의 값을 담고 있는 R객체
- 내부 데이터는 한 가지 데이터 형으로 통일
# 벡터 R객체 테스트
v <-c("hello", 3.14) # 문자형과 숫자형 혼용
class(v)
[1] "character" # 문자형으로 변화
v
[1] "hello" "3.14"
2-2. 리스트 (lists)
- 서로 다른 유형의 데이터를 담을 수 있는 R객체
# 리스트 R객체 테스트
l <- list("hello", 3.14) # 문자형과 숫자형 혼용
class(1)
[1] "list" # 리스트형으로 취급
v
[[1]]
[1] "hello"
[[2]]
[1] 3.14
2-3. 행렬 (matrices)
- 행과 열로 이루어진 2차원 데이터 집합
# 행렬 R객체 테스트
m <-matrix(c(2,3,1,5),nrow=2,ncol=2)
[1] "matrix"
m
[,1] [,2]
[1,] 2 1
[2,] 3 5
2-4. 배열 (arrays)
- 다차원으로 구성된 데이터 집합
- 차원의 설정에 따른 배열의 변화
* 1차원으로 설정 ⇨ 배열 (Arrays)로 취급
* 2차원으로 설정 ⇨ 행렬 (Matrix)로 취급
* 3차원 이상으로 설정 ⇨ 배열 (Arrays)로 취급
# 배열 R객체 테스트
ar1<-array(c(2,3,1,5),dim=c(4))
ar2<-array(c(2,3,1,5),dim=c(2,2))
ar3<-array(c(2,3,1,5),dim=c(1,2,2))
class(ar1)
[1] "array"
class(ar2)
[1] "matrix"
class(ar3)
[1] "array"
ar1
[1] 2 3 1 5
ar2
[,1] [,2]
[1,] 2 1
[2,] 3 5
ar3
, , 1
[,1] [,2]
[1,] 2 3
, , 2
[,1] [,2]
[1,] 1 5
2-5. 요인 (factors)
- "범주"라고도 부름
- 데이터의 값(value)과 레벨(label)을 함께 표현
- 객체가 구축되며 데이터가 자동으로 분석되므로 통계적 모델링과 분석에 유용
v<-c("kim","kim","han","lee","lee","kim")
vf<-factor(v)
vf
[1] kim kim han lee lee kim
Levels : han kim lee
class(vf)
[1] "factor"
2-6. 데이터 프레임 (data frames)
- 표의 형태로 정리된 데이터 객체의 일종이다.
- 열(column)과 행(row)의 이름(name)을 지정 가능하다.
- 열마다 서로 다른 데이터형을 가질 수 있다.
- 숫자형(), 요인(), 문자형()외의 다른 데이터를 저장할 수 없다.
- 열마다 같은 수의 데이터를 포함하여야 한다.
v<-c("kim","kim","han","lee","lee","kim")
vf<-factor(v)
vf
[1] kim kim han lee lee kim
Levels : han kim lee
class(vf)
[1] "factor"
summary(df)
gender height weight age
female:2 Min. :159.0 Min. :49 Min. :25.00
male :1 1st Qu.:161.0 1st Qu.:51 1st Qu.:30.50
Median :163.0 Median :53 Median :36.00
Mean :166.7 Mean :65 Mean :40.33
3rd Qu.:170.5 3rd Qu.:73 3rd Qu.:48.00
Max. :178.0 Max. :93 Max. : 60.00
3. 연산자
R에서는 다양한 연산자가 제공되어, 빅데이터 분석에서 사용하는 다양한 방법론을 구현하여 사용하는 것이 가능하다. R에서 제공하는 연산자들은 산술 연산자, 관계 연산자, 논리 연산자, 대입(할당) 연산자, 기타 연산자로 구분할 수 있다.
3-1. 산술 연산자 (Arithmetic Operators)
- 산술 연산자는 덧셈, 뺼셈, 곱셈, 나눗셈 등의 사칙연산과 지수 연산 등을 수행하는 가장 기본이 되는 연산자이다.
연산자 | 사용법 | 연산자의 반환 결과 |
+ | a+b | - 덧셈을 수행한 후 결과 반환 |
- | a-b | - 뺼셈을 수행한 후 결과 반환 |
* | a*b | - 곱셈을 수행한 후 결과 반환 |
/ | a/b | - 나눗셈을 수행한 후 결과 반환 |
%% | a%%b | - 나눗셈을 수행한 후 나머지 반환 |
%/% | a%/%b | - 나눗셈을 수행한 후 몫 반환 |
^ | a^b | - a의 b승을 계산 |
3-2. 관계 연산자 (Relational Operators)
관계 연산자는 의사결정문에서 주로 쓰이는 연산자로, 참과 거짓을 판별하기 위한 대소관계 비교 연산자, 값의 동일 여부를 검증하는 연산자 등이 제공되고 있다.
연산자 | 사용법 | 연산자의 반환 결과가 TRUE |
> | a>b | - a가 b보다 큰 경우 |
>= | a>=b | - a가 b보다 크거나 같은 경우 |
< | a<b | - a가 b보다 작은 경우 |
<= | a<=b | - a가 b보다 작거나 같은 경우 |
== | a==b | - a와 b의 값이 서로 같은 경우 |
!= | a!=b | - a와 b의 값이 서로 다른 경우 |
3-3. 논리 연산자 (Logical Operators)
논리 연산자는 R의 객체 내부의 각 성분별 비교 연산을 수행하고, 그에 따른 결과를 반환하는 연산자로, 이산수학에서 활용되는 논리곱, 논리합, 반전 등의 연산자가 제공된다.
연사자 | 사용법 | 연산자의 반환 결과 |
& | a&b | - a와 b의 각 성분별로 AND 연산 결과 |
| | a | b | - a와 b의 각 성분별로 OR 연산 결과 |
! | ! a | - a의 논리 결과를 반대로 반환 (NOT) |
&& | a&&b | - a와 b의 첫번째 원소에 대해 AND 연산 결과 |
| | | a || b | - a와 b의 첫번째 원소에 대해 OR 연산 결과 |
3-4. 대입(할당) 역산(Assignment Operators)
대입 연산자는 변수와 변수, 혹은 상수와 변수 사이에 값을 대입 또는 할당하기 위한 연산자로, R에서 데이터를 불러오고 저장하며 중간 연산결과를 저장할 때 다양하게 활용하는 연산자들의 묶음이다.
연산자 | 사용법 | 연산자의 반환 결과 |
< - | a<-b | - b의 값을 a에 대입(할당) |
<<- | a<<-b | |
-> | a->b | - a의 값을 b에 대입(할당) |
->> | a->>b |
'머신러닝과 빅데이터 분석 > R' 카테고리의 다른 글
R 조건문 (0) | 2024.07.17 |
---|---|
R이란 (0) | 2024.07.17 |
댓글