남극

R 여덞 번째 - 데이터 프레임이란? 본문

R

R 여덞 번째 - 데이터 프레임이란?

펭1구 2020. 4. 27. 04:20

 

데이터 프레임

데이터 프레임은 데이터를 행과 열로 구성한 사각형 모양의 표를 의미합니다.

 

열 (column)

열의 의미를 조금 더 자세히 파고들면 열은 "데이터의 속성"이라는 의미를 가지고 있습니다.

 

행 (row)

행은 "정보"라고 할 수 있습니다. 각각의 속성에 대한 정보들이 담겨있죠.

 

행과 열이 많아지면

 

 행과 열이 많아진다는 뜻은 데이터가 크다는 뜻을 의미하며 데이터가 크다는 것은 분석을 할 때 여러 가지 요소에 따라서 속도, 분석 방법 등에 한계가 있을 수 있다는 뜻입니다.

 

데이터 프레임 만들기

데이터 프레임은 만드는 방법이 여러 가지가 있습니다. 데이터를 입력할 수 도있고 외부 데이터를 불러와 만들 수도 있습니다.

 

data.frame(데이터,데이터...)

위와 같은 명령어로 표를 만들 수 있습니다. 인자 값에 넣는 변수(함수)가 열이 되고 그 안에 있는 값들이 행이 됩니다.

 

데이터를 지정해서 만드는 방법입니다.

name <- c("hj","james","amy","su")
age <- c(17,15,26,97)
data.frame(name,age)

R Studio에 이렇게 값을 입력하고 실행을 하면 표가 만들어집니다.

 

다음과 같은 결과를 얻을 수 있습니다.

대이터 프레임이 잘 나온 것을 볼 수 있습니다.

 

외부 데이터 사용하기

외부에서 데이터를 받아오는 방법입니다.

외부에서 데이터를 저장할 때 가장 많이 사용하는 것이 엑셀 csv파일입니다. 

링크에 가상의 데이터를 저장해두었습니다.

install.packages("readxl")

이 명령어를 사용해서 엑셀 파일을 불러올 수 있도록 해봅시다.

패키지가 다운로드되었다면 라이브러리를 사용하겠다고 선언해주세요.

library(readxl)

이제 파일을 불러옵시다.

data = read_excel("./data_sample/sample.xlsx") // 각자의 경로에 맞게 지정해주시기를 바랍니다.
data

read_excel이라는 함수를 사용하여 변수에 값을 넣고 사용합시다. 바로 출력할 수도 있지만 재사용을 할 때 편하게 사용하기 위해서는 변수로 저장해두는 게 좋죠. 함수에 인자 값에는 경로를 지정해주는 곳입니다. 

파일은 R 스크립트와 같은 곳에 저장해두시고 파일의 이름을 입력하시기를 바랍니다.

data = read_excel("파일 이름")
data

결과

엑셀 파일과 같이 나온 것을 볼 수 있습니다.

data$age

다음과 같이 "$"를 사용하면 데이터 프레임 속의 데이터만을 볼 수 있습니다.

딱 나이만 나왔습니다.

 

csv 파일 또한 링크에 있고 엑셀 파일과 동일한 방식을 사용하실 수 있습니다.

다른 점은 함수를 read.csv를 사용해야 한다는 점입니다.

data = read.csv("파일 이름")

이렇게 말이죠. csv파일에서 문자를 불러올 때 에러가 나지 않게 하려면 사용해주어야 하는 명령어가 있다고 합니다.

data = read.csv("파일 이름",stringsAsFactors = F)

이렇게 사용을 해주어야 파일을 문자 타입으로 인식하여 에러가 나지 않는다고 합니다.

 

CSV로 내보내기

파일을 불러왔으니 저장을 해보도록 하겠습니다.

저장을 하는 방법은 어렵지 않습니다.

write.csv(데이터 프레임명, file = "파일 이름")

파일 이름 혹은 경로를 입력해주시면 됩니다.

경로에 파일이 생성이 되었습니다.

만약에 안되었다면 경로를 체크해주시기를 바랍니다.

혹시나 헷갈리실 수 있는데 데이터 프레임 명은 우리가 지정해준 변수입니다. 

변수에 데이터를 넣고 그 데이터를 파일로 뽑는 것입니다.

 

에러가 난다면 댓글에 남겨주시기를 바랍니다.

 

'R' 카테고리의 다른 글

R 열 번째 - 컬럼명 바꾸기  (0) 2020.04.29
R 아홉 번째 - 데이터 파악  (2) 2020.04.28
R 일곱 번째 - 패키지  (1) 2020.04.25
R 여섯 번째 - 함수란?  (1) 2020.04.24
R 다섯 번째 - 문자 다루기  (0) 2020.04.23
Comments