🔷 벡터
- 벡터는 동일한 데이터 타입을 가진 요소들의 1차원 배열로, 숫자형, 문자형, 논리형 등 다양한 데이터 타입을 가질 수 있습니다.
- 벡터는 c() 함수를 사용하여 생성할 수 있습니다. c는 concatenate의 약자로, 여러 값을 하나의 벡터로 연결
# 숫자형 벡터
num_vector <- c(1, 2, 3, 4, 5)
print(num_vector) # 출력: 1 2 3 4 5
# 문자형 벡터
char_vector <- c("apple", "banana", "cherry")
print(char_vector) # 출력: "apple" "banana" "cherry"
# 논리형 벡터
log_vector <- c(TRUE, FALSE, TRUE)
print(log_vector) # 출력: TRUE FALSE TRUE
🔷 행렬
- 행렬(Matrix)은 R에서 2차원 데이터 구조로, 동일한 데이터 타입을 가지는 요소들로 구성된 사각형 배열
- 행렬은 주로 선형 대수와 데이터 분석에서 사용되며, R에서는 다양한 함수를 통해 행렬을 생성하고 조작할 수 있습니다.
> m1 <-matrix(c(1:6), nrow=2)
> m1
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
> m2 <-matrix(c(1:6), ncol=2)
> m2
[,1] [,2]
[1,] 1 4
[2,] 2 5
[3,] 3 6
> m3 <-matrix(c(1:6), nrow=2, byrow=T)
> m3
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
행렬의 속성
- nrow: 행의 수
- ncol: 열의 수
- dim: 행렬의 차원 (행의 수와 열의 수)
- byrow 옵션에 T(TRUE)를 지정하면 값들이 열이 아닌 행으로 저장
🔷 배열
- 배열은 2차원 이상의 행렬로 생각할 수 있으며, 3차원 이상도 가능합니다.
- 배열을 사용하여 다양한 차원의 데이터를 관리
- 하나의 배열에 포함된 데이터는 모두 같은 타입
- 배열은 array() 함수를 사용하여 생성, 몇 차원의 구조를 갖는지 dim 옵션에 명시
- 명시하지 않으면 1차원 벡터
# 3차원 배열 생성
# 3행 4열 2슬라이스
arr <- array(1:24, dim = c(3, 4, 2))
print(arr)
, , 1 #슬라이스1
[,1] [,2] [,3] [,4]
[1,] 1 4 7 10
[2,] 2 5 8 11
[3,] 3 6 9 12
, , 2 #슬라이스2
[,1] [,2] [,3] [,4]
[1,] 13 16 19 22
[2,] 14 17 20 23
[3,] 15 18 21 24
- dim = c(3, 4, 2)는 배열이 3개의 행, 4개의 열, 2개의 슬라이스를 가짐을 의미합니다.
- 첫 번째 차원: 3 (행의 수)
- 두 번째 차원: 4 (열의 수)
- 세 번째 차원: 2 (슬라이스 또는 레이어의 수)
🔷 리스트
- 리스트(List)는 R에서 서로 다른 데이터 타입의 요소들을 저장할 수 있는 데이터 구조
- 벡터, 행렬, 데이터 프레임과 달리, 리스트는 숫자, 문자열, 논리값, 다른 리스트 등 다양한 타입의 데이터를 포함
- 리스트는 성분 간에 이질적인 특징을 가지고 있다.
# 리스트 생성
my_list <- list(
num = 42,
str = "Hello, world!",
vec = c(1, 2, 3),
mat = matrix(1:4, nrow = 2),
nested_list = list(a = 1, b = 2)
)
print(my_list)
$num
[1] 42
$str
[1] "Hello, world!"
$vec
[1] 1 2 3
$mat
[,1] [,2]
[1,] 1 3
[2,] 2 4
$nested_list
$nested_list$a
[1] 1
$nested_list$b
[1] 2
🔷 데이터프레임
- 데이터프레임(Data Frame)은 R에서 가장 많이 사용되는 데이터 구조 중 하나로, 표 형태의 데이터를 저장합니다.
- 행(row)과 열(column)로 구성됩니다.
- 각 열은 벡터 형태로 저장되며, 서로 다른 데이터 타입을 가질 수 있습니다.
- 데이터프레임은 통계 분석, 데이터 시각화, 머신 러닝 등 다양한 작업에서 사용
# 데이터프레임 생성
df <- data.frame(
Name = c("Alice", "Bob", "Charlie"),
Age = c(25, 30, 35),
Gender = c("F", "M", "M")
)
print(df)
Name Age Gender
1 Alice 25 F
2 Bob 30 M
3 Charlie 35 M
데이터프레임의 속성
- 행 이름: 각 행은 이름(기본적으로 숫자)을 가집니다.
- 열 이름: 각 열은 이름을 가지며, 서로 다른 데이터 타입을 가질 수 있습니다.
[참고 도서]
출처 :
이지패스 2024 ADsP 데이터분석 준전문가
'🍅ADsP > 3과목' 카테고리의 다른 글
[3과목] 01장 R기초와 데이터 마트 - (1) R기초- R데이터 핸들링 (0) | 2024.06.26 |
---|---|
[3과목] 01장 R기초와 데이터 마트 - (1) R기초- R 내장 함수 (0) | 2024.06.26 |
[3과목] 01장 R기초와 데이터 마트 - (1) R기초- R 기본 문법 (0) | 2024.06.26 |
[3과목] 01장 R기초와 데이터 마트 - (1) R기초 - 데이터 타입 (0) | 2024.06.26 |