01.R에서 사용하는 데이터 타입
자료 형태 |
구성차원 |
자료 유형 |
다른 형 데이터 공존여부 |
스칼라(scala) |
단일 |
수치/문자/논리 |
불가 |
벡터(vector) |
1차원 |
수치/문자/논리 |
불가 |
팩터(factor) |
1차원 |
수치/문자 |
불가, 범주형 데이터 |
행렬(matrix) |
2차원 |
수치/문자/논리 |
불가 |
데이터 프레임(data frame) |
2차원(테이블형) |
수치/문자/논리 |
가능 |
배열(array) |
2차원 이상 |
수치/문자/논리 |
불가 |
리스트(list) |
2차원 이상 |
수치/문자/논리 |
가능 |
*데이터 프레임: 엑셀과 같이 숫자, 문자 등 다양한 데이터를 하나의 테이블에 담을 수 있는 자료구조
*벡터(vector)와 팩터(factor)의 차이: factor는 vector형과 유사하지만 엄연히 다르다. 다름의 기준은 바로 factor는 레벨을 가진다는 것이다. 실제로 사용해보면 벡터와 팩터는 확실히 다름을 알 수 있다.
fact<-factor(c(0,1,2,3)) str(fact) print(fact)
|
( str: 해당 변수의 상세 설명을 보여주는 함수)
위의 값을 console에 나타내어 보면
레벨이라는 것이 존재하는걸 확인할 수 있다.
레벨은 내가 지정해줄 수도 있지만 지정하지 않는다면 맨처음 초기화될때의 값을 기준으로 레벨을 만든다.
따라서 fact변수의 레벨은 4이며 값으로는 0,1,2,3을 가진다.
이 레벨을 벗어나는 데이터를 넣으려고 하면 거부하며 에러를 내뱉는다.
fact<-factor(c(0,1,2,3)) fact[5]<-9 |
을 console에 나타내면 아래와 같이 에러가 난다.
이처럼, 팩터는 level이 존재하여 이와 같은 상황에서 에러를 내뿜지만, 벡터(vector)의 경우 에러가 레벨이 없어 에러가 나지 않는다. 다음을 보면서 확인해보자.
fact<-c(0,1,2,3) str(fact) print(fact) |
을 console로 나타내면
이와 같고 여기에 추가로
fact[5]<-9 print(fact) |
을 넣으면 console에 다음과 같이 에러가 나지 않고 값이 출력됨을 볼 수 있다.
02.데이터 종류
-범주형 데이터(Categorical Data): 산술연산(불가능x), 특정 유형으로만 분류되는 경우의 데이터
①명목형(데이터): 명목적으로 분류한 데이터
ex)남/여, 혈액형(A형, B형, AB형, O형)
②순서형(데이터): 값에 순서를 들 수 있는 데이터
ex)1,2,3(1등,2등,3등), 대,중,소
-수치형 데이터(Numerical Data): 산술연산(가능o), 숫자로 되어있는 경우의 데이터
①이산형(데이터): 이산적인 값을 가지는 데이터
ex)수량, 일주일 간 교통사고 횟수
②연속형(데이터): 연속적인 값을 가지는 데이터
ex)키,몸무게,혈압
'R programming' 카테고리의 다른 글
[R:04] 기초문법(함수) (0) | 2019.07.24 |
---|---|
[R:03] 비정형 데이터 분석 기초(WordCloud이용) (0) | 2019.07.23 |
[R:01]데이터의 개념 및 R다운로드 방법 (0) | 2019.07.19 |