제육's 휘발성 코딩
Published 2021. 11. 18. 17:32
[R] - 데이터 전처리 Big Data
반응형

데이터 전처리

  • 데이터 전처리 패키지는 전처리 작업에 필요한 함수들을 모아놓은 패키지
  • 패키지 유형 : plyr, dplyr, reshape2, data.table

plyr

  • 원본 데이터를 분석하기 쉬운 형태로 나눠서 다시 새로운 형태로 만들어 주는 패키지
  • 데이터 분할(split), 특정 함수 적용(apply), 재조합(combine)하여 반환
  • 패키지 함수는 **ply 형태 (data frame, list, array )
    • 첫 번째 입력, 두 번 째 출력 - adply 라면 array로 입력 받아 data frame으로 출력

adply

adply(iris, 1, function (row) {row$Sepal.Length >= 5.0 & row$Species == "setosa"})

image

  • adply함수를 통해 데이터 프레임의 각 행을 확인 (Length가 5이상이고, setosa)인지 확인하고 그 결과를 새로운 컬럼 V1(자동 생성)에 기록 - 조건을 만족하면 TRUE, 아니면 FALSE (이미지에는 setosa, V1 )

ddply

ddply(iris, .(Species, Petal.Length<1.5), function(sub) {
data.frame(
+ mean_to=mean(sub$Sepal.Length), mean_so=mean(sub$Sepal.Width), 
+ mean_wo=mean(sub$Petal.Length), mean_jo= mean(sub$Sepal.Width)                         + )})

image

  • Species와 Petal.Length가 1.5 미만인지의 여부로 데이터를 네 개의 변수로 그룹화하여 평균 출력

transform

  • 데이터 프레임에 새로운 변수를 추가할 수 있는 함수
  • transform(_data, tag1=value1, tag2=value2, ...)
transform(iris, Total.w=Sepal.Width+Petal.Width)

image

dpylr

  • 데이터 전처리는 분석에 적합하도록 데이터를 가공하는 작업
  • 데이터 일부를 추출하거나, 종류별로 나누거나, 여러 데이터를 합치는 등의 데이터 가공
  • R에서 데이터 전처리 시 가장 많이 사용되는 패키지
  • %>% 는 ctrl + shift + m 단축키를 사용하면 편리하다.

select

  • 데이터에서 원하는 변수의 특정 열만 추출하는 함수

image

filter

  • 원하는 조건에 따라서 데이터를 필터링하고 추출

image

mutate

  • 기존 데이터에 파생변수를 만들어 추가할 수 있는 함수
  • 데이터 프레임 이름 %>% mutate(새로운 변수명=값)

image

  • filter 함수를 통해 virginica 데이터만 추출하고, mutate를 통해 꽃 받침 길이가 6보다 길면 L, 작거나 같으면 S를 범주로하는 파생변수 Len 생성

group_by, summarise

  • group_by : 지정 변수를 기준으로 데이터 그룹화, summarise : 요약 통계치를 계산하는 함수

image

  • iris 데이터에 대해 품종을 기준으로 그룹화 한 뒤, 품종별 꽃잎 너비의 평균 출력

arrange

  • 특정 열 기준으로 데이터 정렬해주는 함수
  • defalut : 오름차순, desc : 내림차순

image

inner_join

  • 두 데이터 프레임에서 공통적으로 존재하는 모든 열을 병합

image

image

image

  • Department를 기준으로 하여 X, Y에 공통적으로 존재하는 모든 열을 병합

reshape2

  • melt와 cast 함수를 사용하는 함수
  • melt : 원데이터의 여러 변수명과 변숫값이 행에 존재할 수 있도록 데이터를 변환하는 함수
  • cast : 데이터의 모양을 다시 재조합하는 함수
install.packages("MASS") #reshape2도 설치
libarary(MASS)
> a <- melt(data = Cars93, 
+           id.vars = c("TYPE", "Origin"),
+           measure.vars = c("MPG.city", "MPG.highway"))
반응형
profile

제육's 휘발성 코딩

@sasca37

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요! 맞구독은 언제나 환영입니다^^