데이터셋 로딩하기
Excel데이터 로드하기
먼저 Excel 데이터를 로드하기 위해 다음과 같은 패키지를 설치하고 메모리에 로드하겠습니다.
install.packages('readxl')
library(readxl)
엑셀을 보면 하나의 시트가 이루어 진것이 아니라 다양한 시트들로 구성되어 있습니다. 여기 library에서 excel_sheets('파일이름')을 이용하면 엑셀 내부에 어떤 시트가 있는지 확인할 수 있습니다.
다음과 같은 파일의 시트 목록을 조회하겠습니다.
excel_sheets('customer.xlsx')
그러면 다음과 같은 이름을 가진 두개의 시트가 있다는 것을 확인할 수 있습니다.
먼저 mycustomer시트의 데이터를 로딩하겠습니다.
1. mycustomer 시트 로드하기
cs_xl <- read_excel(path = 'customer.xlsx',
sheet = 'mycustomer',
col_names = TRUE,
trim_ws = TRUE,
na = c('.', '?'))
cs_xl
실행하면 다음과 같은 tibble형식의 데이터 테이블이 생성된 것을 확인할 수 있습니다.
2. mycustomer2 시트 로드하기
먼저 엑셀에서 mycustomer2시트를 보면 다음과 같이 좀 복잡하게 구성되어 있는것을 확인할 수 있습니다.
여기서 특이사항을 정리하자면
- col_names가 없다.
- 데이터의 시작 범위가 B5부터 I10까지 있습니다.
따라서 이것을 반영해서 데이터를 로드하자면
cs2_xl <- read_excel(path = 'customer.xlsx',
sheet = 'mycustomer2',
col_names = FALSE,
trim_ws = TRUE,
na = c('.', '?'),
range = 'B5:I10')
cs2_xl
이런식으로 코드를 작성하고 또한 실행하면 다음과 같이 col_namedl ...1, ...2 와 같은 이름으로 지정된 것을 확인할 수 있습니다.
이제 이것을 다시 rename하기 위해 다음과 같은 dplyr::rename을 사용하겠습니다.
cs2_xl <- rename(cs2_xl, 'name' = 1, 'gender' = 2, 'job' = 3, 'age' = 4,
'grade' = 5, 'survey' = 6, 'total' = 7, 'result' = 8)
컬럼명이 잘 생성된 것을 확인할 수 있다.
JSON데이터 로드하기
먼저 json을 로드하기 위해 다음과 같은 패키지를 설치하고 메모리에 로드하겠습니다.
install.packages('jsonlite')
library(jsonlite)
그 후 다음과 같은 명령어로 데이터 셋을 로딩하겠습니다.
cs_js <- fromJSON(txt = 'customer.json')
실행하면 다음과 같은 데이터프레임이 잘 생성된 것을 확인할 수 있습니다.
인터넷 상의 외부 데이터 로딩하기
다음은 인터넷에 있는 데이터를 로딩하겠습니다. 먼저 데이터가 있는 저장소 사이트에 접속하겠습니다.
저는 UCI 머신러닝 저장소 사이트에 접속하겠습니다.
browseURL('http://archive.ics.uci.edu/ml')
실행하면 다음과 같은 사이트에 접속되는 것을 확인할 수 있습니다.
여기서 저는 Iris데이터를 불러오겠습니다. 먼저 Iris를 클릭한 후 다음과 같은 페이지가 나오면 Data Folder를 클릭하겠습니다.
그러면 다음과 같은 화면이 나오는데
여기서 상단에 나와있는 다음과 같은 주소를 입력한 후 마지막에 iris.data를 입력해주겠습니다.
url <- 'http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data'
이제 두가지 방법을 통해 데이터를 로드하겠습니다.
1. read.table( )를 이용해 데이터 로드하기
iris <- read.table(file = url, header = FALSE, sep = ',')
iris
그러면 다음과 같이 많은 데이터들이 나오는 것을 확인할 수 있습니다.
2. read_delim()함수를 이용해 데이터 로딩
iris_tb <- read_delim(file = url, col_names = FALSE, delim = ',')
iris_tb
다음과 같이 tibble 형식의 데이터가 생성됩니다.
이제 임의로 지정된 컬럼명을 변경하겠습니다.
names(iris_tb) <- c('sepal_length', 'sepal_width',
'petal_length', 'petal_width',
'type')
iris_tb
그러면 다음과 같이 컬럼 명이 변경된 것을 확인할 수 있습니다.
이 자료는 https://www.youtube.com/channel/UChPuesN49tcqQqYRQHrLCuw를 참조하여 작성하였습니다.
'Data·AI > R 데이터분석' 카테고리의 다른 글
R. 데이터 시각화탐색(산점도 매트릭스, 상관관계) (0) | 2020.08.24 |
---|---|
R. 데이터 탐색하기 (0) | 2020.08.21 |
R. 데이터셋 로딩하기 - 플레인 텍스트 파일 (0) | 2020.08.21 |
R. 데이터셋 로딩하기 - 샘플데이터셋 (0) | 2020.08.21 |
R. 변수와 데이터객체(구조) 유형 - 복합 데이터 구조 (0) | 2020.08.20 |
댓글