🔷 벡터

  • 벡터는 동일한 데이터 타입을 가진 요소들의 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 데이터분석 준전문가