Data Analysis/R

[R] 데이터 형태와 데이터 형변환

AubreyJeong 2021. 6. 12. 10:00

R 데이터 형태 = 데이터 타입(자료형)

  1. NA : Not Available → 사용 불가능. 데이터에 값이 존재하지 않음
    - NULL은 값이 정의되지 않아 아예 없는 것. NA는 정의되지 않은 값
    > A_score <- c(90, 80, 43, 50, NA)
    > A_score
    [1] 90 80 43 50 NA
    > B_score <- c(90,50,98,59,NULL)
    > B_score
    [1] 90 50 98 59​
     
  2. -Inf 및 Inf : 음과 양의 무한대

  3. NaN : Not a Number → 수의 연산이 불가능한 경우(0/0, Inf/Inf 등)

  4. True or False → T, F로도 표현 가능
    > x <- c(TRUE, FALSE)
    > y <- c(T,F)
    > x
    [1]  TRUE FALSE
    > y
    [1]  TRUE FALSE
    > z
    Error: object 'z' not found
    > z <- true
    Error: object 'true' not found
    > z <- TRUE
    > Z
    Error: object 'Z' not found
    > z
    [1] TRUE​
  5. 요인(factor) : 명목형, 범주형을 위한 일차원의 벡터 타입
    - 범주형 데이터 : 데이터가 사전에 정해진 특정 유형으로만 분류되는 것
    sex 변수를 출력해보면 값은 m이고 이 변수가 가질수 있는 수준은 m, f 중에 하나이다. 요인들이 가질 수 있는 값들을 수준(Level)이라고 한다. 만약 이 범주안에 없는 값(첫번째 인자)을 넣어주면 NA라고 뜬다. 요인은 명목형과 순서형으로 구분되는데, 명목형은 값들 간에 순서비교가 불가능하고, 순서형은 가능(ordered=TRUE)하다. 기본적으로 명목형이다.
    > sex <- factor(c("m", "f", "f","m","f")); sex
    [1] m f f m f
    Levels: f m
    > levels(sex)
    [1] "f" "m"
    > nlevels(sex)
    [1] 2​
    • factor(값, levels, ordered=T 또는 F) 로 호출하면 요인을 반환한다. levels 인자를 생략하면 값으로부터 자동으로 레벨의 목록을 파악한다.
    • nlevels(요인변수) : 범주의 수를 반환한다.
    • levels(요인변수) : 범주목록을 반환한다.
  6. 문자형 : 작은 따옴표, 큰따옴표 둘다 가능

  7. 숫자형 : 정수integer, 실수numeric, 복소수complex

  8. 특정 데이터 타입 확인 : is.*
    # 객체 타입은 double 이지만 클래스 및 storage mode는 numeric이므로 같은 표현으로 받아들인다.
     - storage mode : 물리적인 자료형으로 객체가 메모리에 어떻게 저장되는 지를 가르킨다.
        e.g. numeric, character, list, function

    > x <- c(1,2,3,4,5)
    > typeof(x)
    [1] "double"
    > is.integer(x)
    [1] FALSE
    > is.character(x)
    [1] FALSE
    > is.double(x)
    [1] TRUE
    > is.numeric(x)
    [1] TRUE​

 

데이터 타입의 명시적 변환

  • as.factor(객체): 요인으로 변환
  • as.numeric(객체) : 숫자를 저장한 벡터로 변환
  • as.character(객체) : 문자열을 저장한 벡터로 변환
  • as.matrix(객체) : 행렬로 변환
  • as.array(객체) : 배열로 변환
  • as.data.frame(객체) : 데이터프레임으로 변환

'Data Analysis > R' 카테고리의 다른 글

[R] 자주 쓰는 단축키 모음  (0) 2021.06.10
[R] 프로젝트 관리  (0) 2021.06.10
[R] 자주 사용하는 패캐지와 데이터 경로 함수  (0) 2021.06.09
[R] 데이터 구조  (0) 2021.06.08
[R] 파일 불러오기  (0) 2021.06.08