[R] 더미 변수를 만들 때 유용한 "fastDummies" 패키지

 정보

  • 업무명     : 더미 변수를 만들 때 유용한 "fastDummies" 패키지

  • 작성자     : 박진만

  • 작성일     : 2020-03-03

  • 설   명      :

  • 수정이력 :

 

 내용

[특징]

  • 더미 변수를 만들 때 유용한 "fastDummies" 패키지 소개

 

 

[기능]

  • fastDummies 패키지 소개

 

[활용 자료]

  • 없음

 

[자료 처리 방안 및 활용 분석 기법]

  • 없음

 

[사용법]

  • 소스 코드 예시 참조

 

[사용 OS]

  • Windows 10

 

[사용 언어]

  • R v3.6.2

  • R Studio v1.2.5033

 

 소스 코드

[명세]

  • 전역 설정

    • 최대 10 자리 설정

    • 메모리 해제

# Set Option
options(digits = 10)
memory.limit(size = 9999999999999)

 

  • 라이브러리 읽기

# Library Load
library(fastDummies)

 

  • Data Frame 생성

    • 임의의 Data Frame 생성

### 임의의 데이터프레임 생성#####
n <- 4
TestData <- data.frame(Number = 1:n,
                       FactorNum = factor(1:n),
                       ID = paste0("ID", 1:n),
                       Group = sample(paste0("Group", 1:3), n, replace = TRUE))
########
print(TestData)

 

 

  • 열에 추가적으로 dummy data 생성

# 숫자가 아닌 모든 변수의 조합 더미 변수를 열 측에 작성 : dummy_rows 명령
# 데이터를 지정 : .data 옵션
# 대상 열을 지정 : select_columns -> 옵션 숫자는 제외
# 숫자 또는 대상을 제외한 채우기 값 : dummy_value 옵션 초기 값 : NA
dummy_rows(.data = TestData, select_columns = c("ID", "Group"),
           dummy_value = "Dummy")

# Number FactorNum  ID  Group
# 1      1         1 ID1 Group2
# 2      2         2 ID2 Group1
# 3      3         3 ID3 Group1
# 4      4         4 ID4 Group2
# 5  Dummy     Dummy ID1 Group1
# 6  Dummy     Dummy ID4 Group1
# 7  Dummy     Dummy ID2 Group2
# 8  Dummy     Dummy ID3 Group2

 

 

  • 컬럼에 추가적으로 더미 데이터 생성

# 더미 변수를 컬럼 측에 작성 : dummy_cols 명령
# 열에있는 처음의 변수를 제외 remove_first_dummy 옵션
dummy_cols(.data = TestData, select_columns = c("ID", "Group"),
           remove_first_dummy = FALSE)

# Number FactorNum  ID  Group ID_ID1 ID_ID2 ID_ID3 ID_ID4 Group_Group2 Group_Group1
# 1         1       ID1 Group2      1      0      0      0            1            0
# 2         2       ID2 Group1      0      1      0      0            0            1
# 3         3       ID3 Group1      0      0      1      0            0            1
# 4         4       ID4 Group2      0      0      0      1            1            0

 

[전체]

library(fastDummies)


### 임의의 데이터프레임 생성#####
n <- 4
TestData <- data.frame(Number = 1:n,
                       FactorNum = factor(1:n),
                       ID = paste0("ID", 1:n),
                       Group = sample(paste0("Group", 1:3), n, replace = TRUE))
########
print(TestData)

# 숫자가 아닌 모든 변수의 조합 더미 변수를 열 측에 작성 : dummy_rows 명령
# 데이터를 지정 : .data 옵션
# 대상 열을 지정 : select_columns -> 옵션 숫자는 제외
# 숫자 또는 대상을 제외한 채우기 값 : dummy_value 옵션 초기 값 : NA
dummy_rows(.data = TestData, select_columns = c("ID", "Group"),
           dummy_value = "Dummy")

# Number FactorNum  ID  Group
# 1      1         1 ID1 Group2
# 2      2         2 ID2 Group1
# 3      3         3 ID3 Group1
# 4      4         4 ID4 Group2
# 5  Dummy     Dummy ID1 Group1
# 6  Dummy     Dummy ID4 Group1
# 7  Dummy     Dummy ID2 Group2
# 8  Dummy     Dummy ID3 Group2

# 더미 변수를 컬럼 측에 작성 : dummy_cols 명령
# 열에있는 처음의 변수를 제외 remove_first_dummy 옵션
dummy_cols(.data = TestData, select_columns = c("ID", "Group"),
           remove_first_dummy = FALSE)

# Number FactorNum  ID  Group ID_ID1 ID_ID2 ID_ID3 ID_ID4 Group_Group2 Group_Group1
# 1         1       ID1 Group2      1      0      0      0            1            0
# 2         2       ID2 Group1      0      1      0      0            0            1
# 3         3       ID3 Group1      0      0      1      0            0            1
# 4         4       ID4 Group2      0      0      0      1            1            0

 

 참고 문헌

[논문]

  • 없음

[보고서]

  • 없음

[URL]

  • 없음

 

 문의사항

[기상학/프로그래밍 언어]

  • sangho.lee.1990@gmail.com

[해양학/천문학/빅데이터]

  • saimang0804@gmail.com