데이터 타입 변환 함수 as.factor() # 팩터로 변환 (이 경우 factor의 levels 순서는 자동) as.numeric() # 숫자를 저장한 벡터로 변환 as.character() # 문자열을 저장한 벡터로 변환 as.Date() # 문자열을 날짜로 변환 as.matrix() # 행렬로 변환 as.array() # 배열로 변환 as.data.frame() # 데이터 프레임으로 변환 Q. > m1 m1 # 행렬 생성 no name price qty [1,] "1" "apple" "500" "5" [2,] "2" "banana" "200" "2" [3,] "3" "peach" "200" "7" [4,] "4" "berry" "50" "9" > as.data.frame(m1) # 행렬을 데이터 프..
데이터 프레임(date frame) 중요!!! 데이터 프레임은 엑셀 시트와 유사한 표 형태를 가진 데이터 구조입니다. 데이터 프레임은 행, 열 구조로, 각 열은 서로 다른 데이터 타입을 가질 수 있습니다. data.frame(data, stringsAsFactors = T) 데이터 프레임 형성 시 stringsAsFactors 옵션이 default값 TRUE로 설정됩니다.stringsAsFactor 생략 시 문자열은 무조건 팩터로 저장되는데, 그렇게되면 row(행)를 추가할 수 없게됩니다.만일 데이터 프레임을 생성한 후 행을 더 추가할 필요가 있다면 stringsAsFactor 옵션을 FALSE로 해주어야겠죠? 데이터 프레임는 행렬(Matrix)과 출력 결과가 다를 뿐, Key-Value를 갖고 리스트와..
배열 배열은 동일한 데이터 타입으로 구성된 다차원 데이터구조입니다. Array(데이터, dim = 차원, 차원의 이름)# R : dim=c(행, 열, 층), R에서는 새로운 층이 뒤로 쌓인다면# Python : (층, 행, 열), Python에서는 층이 1번째 인자로, 새로운 층이 앞으로 쌓인다는 것# 배열에서의 연산은 배열의 포맷(데이터 타입, 크기)이 같을 때만 가능합니다. > a1 a1, , 1 # , , 1 은 색인 기호를 의미합니다. (행,열,층) 순이니 1층을 의미하겠죠? [,1] [,2] [,3] [,4] [,5][1,] 1 3 5 7 9[2,] 2 4 6 8 10 , , 2 # 여긴 2층 [,1] [,2] [,3] [,4] [,5][1,] 11 13 15 17 19[2,] 12 14 16 ..
행렬(Matrix) 행렬은 행과 열의 구조를 갖는 2차원 배열을 뜻합니다. 벡터와 같이 동일한 데이터 타입만 허용하고, 숫자 연산이 다른 자료구조보다 빠르기 때문에 주로 숫자 연산을 위해 많이 사용합니다. 하지만 문자도 저장이 가능하답니다! 행렬(Matrix) 생성 > m1 m1 [,1] [,2] [,3] [,4] [,5] [1,] 1 5 9 13 17 [2,] 2 6 10 14 18 [3,] 3 7 11 15 19 [4,] 4 8 12 16 20 > m2 m2 [,1] [,2] [,3] [,4] [,5] [1,] 1 2 3 4 5 [2,] 6 7 8 9 10 [3,] 11 12 13 14 15 [4,] 16 17 18 19 20 # dimnames 는 행, 열의 이름을 지정하는 함수입니다. 다만, li..
리스트(list) 리스트는 Key-value 형태로 저장되는 데이터 형식입니다. key - value name : smith tel : 02)345-6958 sal : 4000 프로그래밍을 해보신 분 이라면, C의 구조체, 파이썬의 딕셔너리와 같은 구조라고 생각하시면 됩니다. 리스트는 벡터와 다르게 서로 다른 데이터 타입을 허용하지만, 리스트의 key 안의 데이터 타입은 같아야 합니다. 분석에서는 자주 사용되지 않지만 알고는 있는게 좋겠죠? 먼저, 벡터로도 리스트를 만들 수 있지만, 데이터 타입이 다르면 만들 수 없고, 따로 이름 지정을 해주어야 합니다. > val1 names(val1) val1 name tel sal "smith" "02)345-6958" "4000" 리스트의 생성 리스트는 층별 구조..
날짜와 시간 오라클에서 SYSDATE 로 현재 시간을 출력했었죠? R 에서도 비슷한 방법으로 현재 시간을 출력할 수 있답니다.Sys.Date() # 날짜를 보여주는 함수 Sys.time() # 날짜와 시간을 보여주는 함수 date() # 날짜와 시간을 영어로 보여주는 함수 R 에서 날짜는 문자열로 해석이 불가능합니다. 오라클에서도 문자를 날짜로 형변환하기 위해 to_date 함수를 사용했었는데, R 에서는 as.Date 를 사용합니다! Oracle to_date('2018/12/01', 'YYYY/MM/DD') R> as.Date('날짜', '날짜 형식') as.Date() 함수는 문자형 데이터를 날짜 형식으로 변환해줍니다. 두 번째 인자인 format 은 생략 가능하지만 의도하지 않은 날짜가 나올 수 ..
진리값의 연산자 진리값의 연산자는 처음에 잡아두지 않으면 나중에 헷갈리기때문에 중요합니다! 논리 연산자 사용법 and 연산 : & , && or 연산 : | , || 1) 하나의 연산자( &, | ) 는 요소가 많을 경우(Vector), 요소 간의 논리연산을 수행(요소끼리 비교하고 싶을 때 사용)합니다. # 요소별 and 논리연산 수행(두 요소 모두 True 를 만족해야 True) c(TRUE, FALSE) & c(TRUE, TRUE) # [1] TRUE FALSE * 왼쪽 벡터의 첫 번째 요소 TRUE 와 오른쪽 벡터의 첫 번째 요소 TRUE의 &(and) 결과 = TRUE * 왼쪽 벡터의 두 번째 요소 FALSE 와 오른쪽 벡터의 두 번째 요소 TRUE의 &(and) 결과 = FALSE # 요소별 o..
팩터(Factor) Factor 란 "정해진 범주 내에서 카테고리별로 분석(범주형 자료 분석)을 하기 위해 주로 사용되는 데이터 자료형"입니다. 그림으로 표현하자면 "하나의 통에 , 각각 범주가 있는 스마일들의 모임"과 같이 표현할 수 있습니다. 남, 녀 / 상, 중, 하 같은, 중간에 다른 값이 포함될 수 없는 값을 범주형 데이터라고 합니다.Factor 형 변수를 만들 때 사전에 정의되어진 범주이외는 정의되지 않기때문에, 정의되어있지 않는 데이터를 입력하면 NA로 처리됩니다.(용어에서 범주 = 레벨 = 카테고리 다 같은 의미입니다.) 성별 변수가 있다면, 정의되어진 레벨(남, 녀) 이외의 다른 값은 절대 허용되지 않는다는 뜻이죠.범주형 자료분석에 주로 사용되고, 라인(범주)별로의 분포 비교를 할 때 유..