데이터 프레임

2021. 5. 16. 16:56R 공부/R

데이터 프레임 이란 

  • 가장 일반적인 데이터
  • 행 과 열의 조합

 데이터가 크다 

  1. Row가 많으면 -> 컴퓨터가 버벅된다 -> 고사양 장비를 구축하면 해결된다
  2. Colum이 많으면 -> 분석방법의 한계 도닥 -> 고급 분석방법(machine learning)을 생각!

 

데이터 프레임 만들기

 

history <- c(90,80,60,70) #역사점수 생성

math <- c(50,60,100,20) #수학점수 생성성

#변수 합해서 데이터프레임 만들기

df_midterm <- data.frame(history,math)

#결과
  history math
1      90   50
2      80   60
3      60  100
4      70   20

역사 점수와 수학점수를 합친 4X2 데이터 프레임이 완성된다.

여기에 1반 , 2반 이라는 class 변수를 추가한다면?

class <- c(1,1,2,2) # 반(class) 변수 생성

#반까지 합친 새로운 데이터 프레임 생성
df_midterm <- data.frame(history,math,class)

#결과
history math class
1      90   50     1
2      80   60     1
3      60  100     2
4      70   20     2

그렇다면 역사 점수와 수학 점수의 평균을 구해보자

mean(df_midterm$history) #역사 점수 평균
[1] 75 #결과

mean(df_midterm$math) #수학 점수 평균
[1] 57.5 #결과

 

실제로 업무를 진행할땐 데이터를 만드는거 보단 외부에 있는 데이터를 가져오는 경우가 많다.

외부에 데이터를 R로 어떻게 가져올까?

 

일단 데이터를 자신이 만든 Project 폴더로 가져온다.

사용할 데이터를 폴더에 옮긴다

그리고 파일을 불러올 준비를 한다.

readxl 패키지를 설치하고 엑셀 파일을 불러온다.

#readxl 패키지 설치
install.packages("readxl")

#readxl 패키지 로드
library(readxl)

#finalexam.xlsx 파일을 변수에 할당한다
df_finalexam <- read_excel("finalexam.xlsx", sheet = 1, col_names = T)

df_finalexam #데이터 확인

#결과
     id class  math history english
   <dbl> <dbl> <dbl>   <dbl>   <dbl>
 1     1     1    50      98      50
 2     2     1    60      97      60
 3     3     1    45      86      78
 4     4     1    30      98      58
 5     5     2    25      80      65
 6     6     2    50      89      98
 7     7     2    80      90      45
 8     8     2    90      78      25
 9     9     3    20      98      15
10    10     3    50      98      45
11    11     3    65      65      65
12    12     3    45      85      32
13    13     4    46      98      65
14    14     4    48      87      12
15    15     4    75      56      78
16    16     4    58      98      65
17    17     5    65      68      98
18    18     5    80      78      90
19    19     5    89      68      87
20    20     5    78      83      58

read_excel 함수의 파라미터에서 sheet은 몇번째 시트를 가져올것인가 를 정하는 파라미터이고, 시트 이름을 직접 써도된다. col_names는 column이름 까지 가져올것인가 를 정하는 파라미터이고 , T or F로 지정한다.

 

그다음은 csv 파일을 불러오는것을 보자.

csv파일은 , 로 구별되는 파일을 칭한다.

csv파일을 불러오는 함수는 read.csv() 이다.

한번 불러와보자.

read.csv("csv_exam.csv", header = T) #csv 파일 불러오기

#결과
id class math english science
1   1     1   50      98      50
2   2     1   60      97      60
3   3     1   45      86      78
4   4     1   30      98      58
5   5     2   25      80      65
6   6     2   50      89      98
7   7     2   80      90      45
8   8     2   90      78      25
9   9     3   20      98      15
10 10     3   50      98      45
11 11     3   65      65      65
12 12     3   45      85      32
13 13     4   46      98      65
14 14     4   48      87      12
15 15     4   75      56      78
16 16     4   58      98      65
17 17     5   65      68      98
18 18     5   80      78      90
19 19     5   89      68      87
20 20     5   78      83      58

header 파라미터는 아까 col_names 와 같은 역할을 한다.

 

그리고 csv 파일로 저장도 가능하다.

write.csv(df_finalexam file = "output_newdata.csv") #csv 파일로 저장

실행을 하면 프로젝트 폴더에 저장이 된다.

'R 공부 > R' 카테고리의 다른 글

데이터 전처리(1)  (0) 2021.05.17
데이터 파악 및 수정  (0) 2021.05.16
R studio 문법(2)  (0) 2021.05.07
R 의 기본 문법(1)  (0) 2021.05.07
R이 무엇인가요?  (0) 2021.04.25