48*789
75+5
'안녕하세요'
75+5
78+2
''' 24-08-03 강의자료 '''
'''
실행 단축키: ctrl + enter
되돌리기: cral + z
전체 블록 선택: ctrl + a
'''
a <- 15
'''
데이터 구조간 관계 및 데이터 유형
벡터: 한 가지 데이터 유형으로 구성된 1차원 구조 데이터
행렬: 한 가지 데이터 유형으로 구성된 2차원 구조 데이터
배열: 행렬을 n차원으로 확대한 구조의 데이터
리스트: 숫자형 벡터, 문자형 벡터 등 여러 데이터 유형이 포함된 1차원 구조의 데이터
데이터프레임: 리스트를 2차원으로 확대한 구조의 데이터
'''
#----------
ex_vector1 <- c(-1,0,1)
ex_vector1
ex_vector2 <- c('a','0','1') #모두 작은따옴표(')로 감싸야 함
ex_vector2
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
#문자 취급: 따옴표로 감싸진 숫자
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)
#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)