놀고 싶어요

[데이터 분석] R로 데이터 읽어오기 본문

R

[데이터 분석] R로 데이터 읽어오기

챌린지 2021. 5. 7. 12:56

 

읽어올 파일을 R 파일에 data 폴더를 만들어서 파일을 넣어둔다.

 

 

1. 

File > New File > R Script 로 새로운 파일을 생성한다.

 

2. 

getwd()를 이용하여 working directory 확인을 하고, 세팅되어 있지 않는 경우 setwd() 를 이용하여 디렉토리 이동을 해준다.

ex) setwd("~/R") or setwd("C:Users/사용자명/Documents/R")

 

3.

read.csv()를 이용하여 파일을 읽어온다. 

ex) bike_data <- read.csv("data/bike_usage0.csv")

 

 

Error in type.convert.default(data[[i]], as.is = as.is[i], dec = dec,  : invalid multibyte string at '<bd><c5><c3><cc><bf>(2ȣ<bc><b1>) 6<b9><f8><c3> <bf><b7>'

encoding은 세상 다양한 언어를 컴퓨터가 처리할 수 있도록 코드화하는 방법으로 읽으려고 하는 파일이 R의 기본 인코딩방법과 달라 발생한다. 

오류가 발생할 경우, 뒤에 , fileEncoding = "euc-kr" 을 붙여준다.

-> bike_data <- read.csv("data/bike_usage_0.csv", fileEncoding = "euc-kr")

 

변수 선언이 성공하면 environment화면에 bike_data 데이터가 나타날 것이다.

 

class()라는 명령을 이용하여 bike_data의 클래스를 조회해보면 data.frame타입임을 알 수 있다.

 

dim()

dim(): 해당 파일의 행과 열의 수를 알려준다.

ex) dim(bike_data)

bike_data는 36,595의 행과 15개의 열이 있음을 알 수 있다.

 

 

environment에서 선언된 변수(bike_data)를 볼 수 있다.

 

colnames()

colnames() 사용시 컬럼의 이름이 나열된다. 그렇지만 어떤 성격의 데이터가 들어 있는지 확인이 불가능하다.

 

str()

structure. 해당 파일의 type과 컬럼 각각의 이름, 데이터 타입, 일부 데이터(예제)가 조회된다.

데이터 성격이 정확히 반영되었는지 바로 판단하기는 어렵다.

 

gender같은 경우 데이터가 없는 걸 알 수 있고

momentum, carbon_amount 항목의 경우 숫자로 보이는 항목들이 문자로 취급되고 있는 걸 알 수 있다.

 

 

is.na()

실행 결과 각 셀 값이 NA(Not Available)인지 여부를 TRUE/FALSE로 표시

-> 전체를 볼 수 없기 때문에 다른 방법을 이용하는 걸 권장한다.

ex) sum함수 사용: R에서는 TRUE=1, FALSE=0으로 취급하기 때문에 진리값도 합계가 가능 => 0이 나오면 NA가 없는 것, 1 이상의 값이 나오면 NA를 찾아야 함

==> sum(is.na(bike_data))

 

is.na()