[R] 배열~리스트

이현지·2024년 8월 8일

R/머신러닝/딥러닝

목록 보기
1/16

48*789
75+5
'안녕하세요'

75+5
78+2

''' 24-08-03 강의자료 '''

'''
실행 단축키: ctrl + enter
되돌리기: cral + z
전체 블록 선택: ctrl + a
'''

변수: 변하는 수 (시간: 03:47:21)

a <- 15

'''
데이터 구조간 관계 및 데이터 유형

벡터: 한 가지 데이터 유형으로 구성된 1차원 구조 데이터
행렬: 한 가지 데이터 유형으로 구성된 2차원 구조 데이터
배열: 행렬을 n차원으로 확대한 구조의 데이터
리스트: 숫자형 벡터, 문자형 벡터 등 여러 데이터 유형이 포함된 1차원 구조의 데이터
데이터프레임: 리스트를 2차원으로 확대한 구조의 데이터
'''

#----------

벡터 (04:30:12)

ex_vector1 <- c(-1,0,1)
ex_vector1

ex_vector2 <- c('a','0','1') #모두 작은따옴표(')로 감싸야 함
ex_vector2

숫자형 벡터의 속성과 길이 확인

mode(ex_vactor1) 데이터 유형 확인 함수

mode(ex_vector1) #누메릭
str(ex_vector1) #[1:3] -1 0 1
length(ex_vector1) #3

문자형 벡터: 문자로 이루어진 벡터

각 요소마다 ''또는 ""를 사용

ex_vector3 <- c('Hello','hi')
ex_vector3

ex_vector4 <- c('1','2','3')
ex_vector4

#문자 취급: 따옴표로 감싸진 숫자

논리형 벡터: TRUE, FALSE로 구성

ex_vector5 <- c(TRUE, FALSE)
ex_vector5
str(ex_vector5)

'''
범주형: 명목형 바탕으로 범주화한 자료
(예) 년도, 과일, 국가, 월
명목형: 순서가 없는 자료
수치형: 정수형, 실수형을 의미함
'''

#범주형 자료 생성 - factor() (05:07:00)
ex_vector6 <- c(2,1,3,2,1)
ex_vector6 <- factor(ex_vector6, labels = c('APPLE', 'BANANA', 'CHERRY'))
ex_vector6 #안에 있는 숫자를 범주화시킴

#------

'''
행렬: 행과 열로 구성된 2차원 단일형
배열: 행렬을 n차원으로 확대한 구조
'''

x <- c(1,2,3,4,5,6)

matrix(x, nrow = 2, ncol = 3)
#12/34/56 (세로 순으로)

matrix(x, nrow = 2, byrow = T)

byrow = TRUE 옵션을 사용하여 벡터 x의 값이 행(row)을 우선으로 채워짐.

#123/456 (가로 순으로)

##배열 생성
y <- c(1,2,3,4,5,6)
array(y, dim=c(2,2,4))

'''
dim = c(2, 2, 4)은 배열의 차원(dimension)을 정의함.
2행 2열의 매트릭스를 4개 가진 3차원 배열을 생성함.

배열 array(y, dim = c(2, 2, 4))의 경우 벡터 y의 길이는 6인데,
배열의 총 원소 수: 2 2 4 = 16개
벡터 y의 값이 반복되어 배열을 채움.
따라서, 1, 2, 3, 4, 5, 6이 반복되어 배열을 구성하게 됨. (결과참조)
'''

#-------------------------

'''
리스트: 1차원 데이터인 벡터나, 서로 다른 구조의 데이터를 그룹으로 묶은 데이터셋

데이터프레임: 리스트를 차원으로 확대한 것
'''

리스트 생성

list1 <- list(c(1,2,3),'hello', 4)
list1 #해당 리스트에 포함된 값을 데이터형별로 구분해서 출력함

데이터프레임

ID <- c(1,2,3,4,5,6,7,8,9,10)
AGE <- c(50,40,28,50,27,23,56,47,20,38)
AREA <- c('서울','경기','제주','서울','서울','부산','경기','인천','서울','부산')

dataframe_ex <- data.frame(ID, AGE, AREA)
dataframe_ex
str(dataframe_ex)

profile
관심분야: 추천시스템, 자연어처리, 머신러닝, 딥러닝

0개의 댓글