오늘은 RStudio를 이용하여 R의 변수, 데이터타입, 함수에 대해 알아보자
1. 변수
R에서의 변수 할당은 기본적으로 '<- ' 기호를 사용한다.
다른 프로그래밍 언어와 같이 ' = ' 를 사용해도 같은 동작을 한다.
또한 특징으로는 자동으로 데이터 타입이 지정이 된다. 이는 동적 타이핑(dynamic typing)이라고 불리는 특징으로, 변수의 데이터 타입이 런타임시에 결정되는 것이다.
# 변수 할당
x <- 10
y = "Hello, R!"
z <- TRUE
# 변수 출력
print(x)
print(y)
print(z)
실행결과
> print(x)
[1] 10
> print(y)
[1] "Hello, R!"
> print(z)
[1] TRUE
2.데이터 타입
R은 여러가지 데이터 타입을 지원하며 주요 데이터 타입은 다음과 같다.
- 숫자형(Numeric) : 정수 또는 실수
- 문자형(Character) : 문자열
- 논리형(Logical) : TRUE 또는 FALSE
- 팩터형(Factor) : 범주형 데이터
- 벡터(Vector) : 동일한 타입의 값들의 집합
- 매트릭스(matrix) : 2차원 배열로, 동일한 타입의 값들로 이루어진 행렬
- 배열(Array) : 다차원 배열로, 동일한 타입의 값들로 이루어져 있고 매트릭스의 일반화된 형태
- 리스트(List) : 다양한 타입의 값들의 집합(숫자형, 문자형, 논리형 등 여러 타입의 데이터를 포함가능)
- 데이터 프레임(Data Frame) : 표 형태의 데이터 구조, 각 열은 벡터이며 각 벡터는 서로 다른 타입을 가질 수 있음(데이터 분석에서 주로 사용함)
# 숫자형
num <- 42.5
# 문자형
char <- "R Programming"
# 논리형
bool <- TRUE
# 벡터
vec <- c(1, 2, 3, 4, 5)
# 리스트
lst <- list(num, char, bool)
# 데이터 프레임
df <- data.frame(Name = c("Alice", "Bob"), Age = c(25, 30))
# 매트릭스
mat <- matrix(1:9, nrow = 3, ncol = 3)
# 배열
arr <- array(1:8, dim = c(2, 2, 2))
# 출력
print(num)
print(char)
print(bool)
print(vec)
print(lst)
print(df)
print(mat)
print(arr)
출력결과
> print(num)
[1] 42.5
> print(char)
[1] "R Programming"
> print(bool)
[1] TRUE
> print(vec)
[1] 1 2 3 4 5
> print(lst)
[[1]]
[1] 42.5
[[2]]
[1] "R Programming"
[[3]]
[1] TRUE
> print(df)
Name Age
1 Alice 25
2 Bob 30
> print(mat)
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9
> print(arr)
, , 1
[,1] [,2]
[1,] 1 3
[2,] 2 4
, , 2
[,1] [,2]
[1,] 5 7
[2,] 6 8
3. 함수
R에서도 다른 프로그래밍 언어와 같이 함수로 작업을 캡슐화 해서 재사용화 할 수 있다.
내장함수와 사용자 정의 함수가 있으며 사용자 지정 함수는 function 키워드를 사용하여 정의한다.
함수 호출 방식에는 여러가지가 있지만 대표적으로 다음과 같이 2가지 방법이 있다.
밑의 링크를 통해 더 많은 R의 내장함수들과 연산자들의 종류를 알 수있다.
# 함수 정의
add <- function(a, b) {
return(a + b)
}
# 함수 호출의 2가지 방법
#위치 기반 인자 전달 (Positional Arguments)
result <- add(5, 3)
print(result)
#이름으로 인자 전달(Named Arguments)
result2 <- add(a = 3, b = 5)
print(result2)
출력결과는 둘다 같다
> result <- add(5, 3)
> print(result)
[1] 8
>
> #이름으로 인자 전달(Named Arguments)
> result2 <- add(a = 3, b = 5)
> print(result2)
[1] 8
R에서 데이터 변환을 위해 내장되어있는 함수를 사용하여 데이터의 타입을 변환해 보았다.
# 문자형을 숫자형으로 변환
char_num <- "123"
num <- as.numeric(char_num)
print(num) # 출력: 123
print(class(num)) # 출력: "numeric"
# 숫자형을 문자형으로 변환
num_char <- as.character(num)
print(num_char) # 출력: "123"
print(class(num_char)) # 출력: "character"
출력결과
> # 문자형을 숫자형으로 변환
> char_num <- "123"
> num <- as.numeric(char_num)
> print(num) # 출력: 123
[1] 123
> print(class(num)) # 출력: "numeric"
[1] "numeric"
>
> # 숫자형을 문자형으로 변환
> num_char <- as.character(num)
> print(num_char) # 출력: "123"
[1] "123"
> print(class(num_char)) # 출력: "character"
[1] "character"
마치며
오늘은 데이터 분석을 위해 새로운 언어인 R의 변수 선언 방법과 데이터타입, 함수에 대해 알아보았다.
대표적인 언어중 비슷한 언어를 고르자면 Python과 유사한 것 같다.
R에도 java의 class와 같이 객체지향프로그래밍 개념이 존재 한다고 한다.
쉽고 간단한 언어라고 생각 했으나 생각해야 할것들이 많아 당황했지만 다른 프로그래밍을 학습한 경험이 있어서 빠르게 이해 할 수 있었던 것 같다.
'빅데이터' 카테고리의 다른 글
[빅데이터]-R프로그래밍 #2. 데이터 타입, 출력, 타입변환 (1) | 2024.07.09 |
---|---|
[빅데이터] 빅데이터 분석을 위한 R설치 및 프로그래밍 (0) | 2024.07.08 |