Data Frame
- 리스트 보다 활용 범위 넓습니다.
- DBMS의 테이블 구조와 유사 (서로 다른 데이터 타입을 갖는 컬럼)
- 가장 많이 사용하는 객체타입
- list 와 Vector 혼합형 - 컬럼구성: list, list 구성: vector
- data frame 생성 방법-Vector, Matrix, txt/excel/csv파일
= DB의 table과 유사 형태
Data Frame 특징
1. 형식) data.frame(컬럼1, 컬럼2.. 컬럼n)
2. 컬럼 단위로 서로 다른 자료형 가능
3. 모든 컬럼은 크기가 동일 해야함
1)vector 구조를 이용한 data.frame 생성
Matrix 는 모두 같은 자료형 이지만, data.frame은 다양한 자료형을 사용합니다.
> class(vemp) # "data.frame"
[1] "data.frame"
2)matrix 구조를 이용한 data,frame 생성
by로 시작하는 단어가 byrow 밖에 없기 떄문에 정확사게 구별되어지는 단어 까지만 입력해주면 byrow로 인식합니다.
Matrix는 동일한 자료형으로 사용해야하기 때문에 모두 문자열로 바꿔서 출력합니다.
> class(m) # "matrix"[1] "matrix"
Matrix로 만들어준 것을 다시 data.frame에 넣어주면 가각 자료형으로 출력합니다.
컬럼의 이름이 없어서 (x1, x2, x3 )로 만들어 줍니다.
> class(memp) # "data.frame"[1] "data.frame"
수집된 데이터를 가지고 data.frame으로 만들어서 사용하는 것이 일반적입니다.
# txt 파일을 이용 객체 생성
read.table - 파일에 저장되어 있는 데이터를 읽어와서 data.frame의 구조로 반환
** Read.table 은 txt 이외에도 다양한 형태의 파일 포맷을 읽어올 수 있습니다.
header - 컬럼의 이름을 가지고 있을 때
- T , 컬럼의 이름을 가지고 있음, data는 두번째부터 읽어가라
- 컬럼의 이름 없이 데이터가 나오면 = F
sep - 데이터의 구분 단위
> class(txtemp) # "data.frame"[1] "data.frame"
# csv 파일 이용 객체 생성(header=T)
컬럼의 이름을 가지고 있음, data는 두번째부터 읽어가라
> class(csvtemp)#[1] "data.frame"[1] "data.frame"
# csv 파일 이용 객체 생성(header=T)
: 컬럼의 이름 없음
col.names - header의 해당되는 컬럼들의 이름을 부여합니다.
# data.frame 만들기
데이터 프레임 컬러명 참조 ($사용)
# data.frame 정보 확인
c = int , seq = num 로 저장
# summary 함수 : 수치형 데이터의 특징을 빠르게 제공합니다.
숫자형에서만 의미를 가지는 정보를 출력합니다.
# 데이터프레임 자료에 함수 적용
x열의 총합, y열의 총합을 출력
# subset : 부분 객체 만들기 (비교 연산자 활용)
subset 부분적으로 취합니다. (특정 조건 출력)
# 논리연산자를 활용한 두 개의 조건으로 부분 객체 만들기
subset 부분적으로 취함. (특정 조건 출력) – 부분집합
& : AND 연산자 ,
| : OR 연산자
# 데이터 프레임 만들기
: 다양한 형태의 자료형 관리
Sid (char) , Score (num) , subject(char)
# 자료형과 자료구조 확인
# 데이터프레임 병합하기
한사람에 대한 데이터가 두개의 데이터로 분리되어 수집했을 때, 데이터 셋을 병합하여 구축할 때 = merge 함수를 이용
# galton 데이터 셋
galton은 psych 패키지에서 제공되는 데이터 셋으로 갈턴에 의해서 연구된 부모와 자식의 키 사이의 관계를 기록한 데이터를 제공합니다. 전체 관측치는928개 이며 2 개의 변수 (child 와 parent) 를 제공합니다. 프랜시스칼턴(Francis Galton)은 영국 유전학자로 우생학 창시자 종의 기원를 저술 한 찰스 다윈의 사촌입니다. 우생학이란 유전학 의학 통계학을 기초로 우수 유전자 증대를 목적으로 한 학문입니다.
'빅데이터 > R' 카테고리의 다른 글
[R] 데이터 입력 (0) | 2020.06.25 |
---|---|
[R] 문자열 처리 (0) | 2020.06.25 |
[R] 주요 자료 구조(객체 타입 Part_4 : List구조) (1) | 2020.06.24 |
[R] 주요 자료 구조(객체 타입 Part_3 : Array구조) (0) | 2020.06.24 |
[R] 주요 자료 구조(객체 타입 Part_2 : Matrix구조) (0) | 2020.06.24 |