[R] 데이터 타입 변경하기

반응형
    반응형

    R에서 데이터 타입 변경하기

    R에서 데이터 타입을 변경하는 방법입니다. 데이터 분석 과정에서 데이터 타입을 올바르게 지정하는 것은 매우 중요합니다. 데이터 타입이 올바르지 않으면 원하는 분석 결과를 얻기 어렵기 때문이죠. 그럼, R에서 데이터 타입을 변경하는 다양한 방법을 함께 살펴보겠습니다.

    1. 기본 데이터 타입

    R에는 여러 가지 기본 데이터 타입이 있습니다. 주요 데이터 타입은 다음과 같습니다:

    • numeric: 실수형 데이터 (예: 1.5, 2.7)
    • integer: 정수형 데이터 (예: 1, 2, 3)
    • character: 문자열 데이터 (예: "a", "hello")
    • factor: 범주형 데이터 (예: "male", "female")
    • logical: 논리형 데이터 (예: TRUE, FALSE)

    2. 데이터 타입 확인하기

    데이터를 타입을 변경하기 전에 먼저 데이터의 타입을 확인하는 방법을 알아봅시다.(데이터타입을 알아야 뭔가 바꿀테니까요) class() 함수나 str() 함수를 사용하면 데이터 타입을 확인할 수 있습니다.

    # 데이터 생성
    x <- 10
    y <- "hello"
    z <- TRUE
    
    # 데이터 타입 확인
    class(x)  # "numeric"
    class(y)  # "character"
    class(z)  # "logical"
    
    # 데이터 구조 확인
    str(x) # num10
    str(y) # chr "hello"
    str(z) # logi TRUE

     

    3. 데이터 타입 변경하기

    이제 데이터 타입을 변경하는 방법을 살펴보겠습니다. R에서는 as.* 함수를 사용해 데이터 타입을 쉽게 변경할 수 있습니다.

    numeric으로 변경하기

    문자열이나 다른 타입의 데이터를 숫자형으로 변경하려면 as.numeric() 함수를 사용합니다.

    # 문자형 데이터를 숫자형으로 변경
    char_data <- "123.45"
    num_data <- as.numeric(char_data)
    
    class(num_data)  # "numeric"

    단, 아무거나 되는 건 아닙니다. 'apple'을 숫자형으로 당연히 바뀔 수 없겠죠? 그럼에도 명령을 내리면 아래와 같은 오류가 생깁니다.

    integer로 변경하기

    숫자형 데이터를 정수형으로 변경하려면 as.integer() 함수를 사용합니다. 참고로 소수점은 모두 버림으로 처리됩니다.

    # 실수형 데이터를 정수형으로 변경
    num_data <- 123.45
    int_data <- as.integer(num_data)
    
    class(int_data)  # "integer"
    character로 변경하기

    숫자형이나 다른 타입의 데이터를 문자형으로 변경하려면 as.character() 함수를 사용합니다.

    # 숫자형 데이터를 문자형으로 변경
    num_data <- 123
    char_data <- as.character(num_data)
    
    class(char_data)  # "character"
    factor로 변경하기

    문자형 데이터를 범주형으로 변경하려면 as.factor() 함수를 사용합니다.

    # 문자형 데이터를 범주형으로 변경
    char_data <- c("male", "female", "male")
    factor_data <- as.factor(char_data)
    
    class(factor_data)  # "factor"
    논리형으로 변경하기

    숫자형 데이터를 True,False로 구성된 논리형으로 변경하려면 as.logical() 함수를 사용합니다.

    # 숫자형 데이터를 논리형으로 변경
    num_data <- c(0, 1, 2)
    logical_data <- as.logical(num_data)
    
    class(logical_data)  # "logical"

    0을 FALSE로, 0이 아닌 숫자를 TRUE로 변환합니다.

     

     

     

    4. 데이터 프레임에서 타입 변경

    데이터 분석을 할 때 데이터 프레임의 열 타입을 변경하는 것은 매우 중요합니다. 각 열의 데이터 타입을 적절하게 변경하여 분석에 맞는 데이터를 준비할 수 있습니다. 위와 마찬가지로 열을 지정하고 as.*함수로 처리합니다.

    # 데이터 프레임 생성
    df <- data.frame(
      A = c("1", "2", "3"),
      B = c("male", "female", "male"),
      C = c("TRUE", "FALSE", "TRUE")
    )
    
    # 각 열의 타입 변경
    df$A <- as.numeric(df$A)
    df$B <- as.factor(df$B)
    df$C <- as.logical(df$C)
    
    # 데이터 타입 확인
    str(df)

    데이터 프레임의 각 열을 적절한 데이터 타입으로 변경하고, 변경된 결과를 확인합니다.

    5. 날짜 데이터 다루기

    날짜 데이터를 다루는 것도 중요한데요. as.Date() 함수를 사용해 문자열을 날짜 형식으로 변환할 수 있습니다.

    # 문자형 날짜 데이터를 날짜형으로 변경
    date_data <- "2023-07-20"
    date <- as.Date(date_data)
    
    class(date)  # "Date"

    lubridate 패키지를 사용하면 날짜와 시간을 보다 편리하게 다룰 수 있습니다:

    install.packages("lubridate")
    library(lubridate)
    
    date_data <- "2023-07-20 14:30:00"
    datetime <- ymd_hms(date_data)
    
    class(datetime)  # "POSIXct" "POSIXt"

    6. 타입 변경 시 유의사항

    데이터 타입을 변경할 때는 몇 가지 유의사항이 있습니다:

    • NA 값 처리: 타입 변경 시 적절히 변환되지 않는 값은 NA로 처리될 수 있습니다.
    • 데이터 손실: 실수형을 정수형으로 변경할 때 소수점 이하 값이 손실될 수 있습니다.
    • 적절한 타입 선택: 데이터 분석 목적에 맞는 적절한 타입을 선택해야 합니다. 예를 들어, 카테고리 데이터를 문자형이 아닌 범주형으로 처리하면 더 효율적으로 분석할 수 있습니다.

    마치며

    결론적으로, R에서 데이터 타입을 올바르게 변경하는 것은 데이터 분석의 중요한 단계입니다. 다양한 as.* 함수들을 사용해 데이터를 적절한 타입으로 변환하여 분석 준비를 완료할 수 있습니다. 데이터 타입을 올바르게 지정하여 분석 결과의 신뢰성을 높이고, 더 정확한 인사이트를 얻어보시길 바랍니다.

     

    함께 보면 좋은 글

     

     

    R로 데이터 불러오기와 저장하기

    R로 데이터 불러오기와 저장하기이번 포스팅에서는 R을 사용해 데이터를 불러오고 저장하는 방법에 대해 이야기해보려고 합니다. 데이터 분석의 첫 걸음은 데이터를 준비하는 것에서 시작하죠.

    seong6496.tistory.com

     

     

    R studio 패키지 설치 오류 모음

    R은 패키지 설치가 너무 어렵다R은 깔끔하게 코드를 작성할 수 있어 좋은데 호환성이 너무 안좋습니다. 조금만 엇나가면 바로 안됩니다. 힘드네요. 특히 패키지 설치로 애를 아주 많이 먹었습니

    seong6496.tistory.com

     

     

    R 데이터 타입 소개(종류, 타입확인)

    R 데이터 타입 R의 데이터 타입 내용입니다. R의 데이터 타입 종류와 확인방법에 대해 포스팅하려고 합니다. 각각을 모두 다 설명할 수는 없고 어떤 게 있는지에 초점을 맞췄습니다. R은 1,2,n차원

    seong6496.tistory.com

     

    'R' 카테고리의 다른 글

    R 데이터 변환 정리글  (0) 2024.07.31
    [R] 결측치 처리  (0) 2024.07.30
    R로 데이터 불러오기와 저장하기  (0) 2024.07.26
    R로 ROC 곡선 분석하기  (0) 2024.07.25
    세상 간단한 R로 웹 스크래핑하기  (0) 2024.07.24

    댓글

    Designed by JB FACTORY

    ....