머신러닝과 빅데이터 분석/R

R의 데이터형 및 연산자

Zoo_10th 2024. 7. 17.

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+5class(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

 

728x90

'머신러닝과 빅데이터 분석 > R' 카테고리의 다른 글

R 조건문  (0) 2024.07.17
R이란  (0) 2024.07.17

댓글