전공수업/R

[R통계분석] R 데이터 처리1 - 형태, 구조, 특성

aaahyunseo 2024. 10. 12. 16:21

3.1 데이터 형태

정수와 문자 저장

  • 1Byte = 8bits
  • 비트는 전기가 흐르면 1, 그렇지 않으면 0 저장

데이터형

  • 값을 사용하는 방법으로 사용자가 사용할 데이터형 결정
  • R에서는 값을 통해 데이터형 결정

R에서 사용하는 데이터형

문자형

  • 운영체제가 지원하는 문자와 숫자 대조표를 이용하여 데이터 저장.

데이터형 관련 함수

  • 데이터형이 무엇인지 확인하는 함수는 다른 프로그래밍 언어와 동일하게 typeof() 함수를 사용.
  • 데이터형 판단 함수는 is.{확인하고자하는 데이터형}() 의 형태의 함수명을 가지고 논리값을 결과값으로 출력.
  • 데이터형 변환 함수는 as.{변환하고자하는 데이터형}() 의 형태의 함수명을 가짐.
    • logical → numeric → charater 방향으로만 변환 가능.
  • logical을 charater로 변환하면 "TRUE"와 "FALSE"로 변환. TRUE, FALSE가 아닌 값이 들어오면 결측값 반환(NA)

데이터형 관련 함수

특수한 데이터

특수한 데이터와 함수

3.2 데이터 구조

기본 데이터 구조 - 벡터

  • R에서 데이터형이 동일한 여러 데이터가 일렬로 연결된 구조
  • R의 기본 데이터 구조로 값이 한 개만 있더라도 R은 원소의 개수가 한 개인 벡터로 처리
  • 벡터값 출력 시 대괄호(벡터 내 위치값, 인덱스)와 벡터의 원소가 함께 출력됨.

벡터를 생성하는 연산자와 함수

  • rep() 함수 내 인수 중 times는 벡터 전체를 n번 반복하는 것이고, each는 각 벡터를 n번씩 반복한 것. (→ 1 2 1 2 와 1 1 2 2 의 차이)

이름표 데이터 - 팩터

  • 통계학에서 다루는 데이터의 종류
    • 양적 데이터 : 크기, 길이, 시간 등 숫자로 크기를 나타내는 데이터
    • 질적 데이터 : 크기 비교가 아닌 구분을 위해 사용하는 데이터로 구분 값에 따라 이름표 부여 (혈액형, 성별, 학점 A,B,C 등)
  • 팩터 : 질적 데이터를 저장하기 위한 R의 데이터 구조
    • factor() 함수를 이용하며 기존 벡터를 이용해 팩터 생성
    • 인수1 : 팩터로 변환할 데이터를 담고 있는 벡터
    • 인수2 : levels. 기존 데이터에서 팩터의 수준으로 사용할 값
    • 인수3 : labels. 팩터 내 각 레벨의 이름표로 사용할 문자열
    • 인수4 : TRUE 이면 순서 있는 팩터 생성 (defualt는 FALSE로 순서X)

벡터를 팩터로 변환

위치 정보가 두 개 이상인 다차원 데이터 - 배열과 행렬

  • n차원 데이터
    • 벡터와 팩터는 위치 정보가 한 개인 1차원 데이터
  • 다차원 데이터
    • 위치 정보가 2개 이상인 데이터
    • 데이터형이 동일한 다차원 데이터 구조 : 배열
    • 2차원 배열 데이터 : 행렬
    • dim() 함수 - 다차원 데이터의 각 차원의 갯수를 벡터로 전달.
    • matrix() 함수 - nrow = n 개의 행으로 matrix 생성 / ncol = n 개의 열로 matrix 생성 / byrow = True 는 벡터를 행별로 채우면서 생성

데이터셋을 저장하는 구조 - 데이터 프레임

  • 2차원 구조
    • 동일한 데이터형으로 구성된 행렬
  • 데이터 프레임
    • 구조 : 행은 관찰 대상, 열은 관찰 대상으로부터 관찰하는 속성
    • 데이터 파일 구조를 결정하는 것은 열(관찰하고자 하는 속성의 집합)
  • data.frame() 함수 - 인수로 데이터프레임의 각 열의 정의 사용
  • 사용 함수
    • names() : 각 열의 이름 확인하기
    • dim() : 차원 정보(행과 열의 수) 확인하기
    • nrow(), ncol() : 행 또는 열의 수를 직접 구하는 함수
    • str() : 구조 확인 함수

다양한 데이터 구조를 담는 데이터 구조 - 리스트

  • 벡터, 팩터, 배열, 행렬은 모두 동일한 데이터형의 원소만 가질 수 있음.
  • 데이터프레임은 각 열이 동일한 크기의 벡터(팩터)로만 구성 - 리스트를 원소로 가질 수도 있음.
  • 리스트 생성함수 : list()

※ 행렬 vs. 데이터프레임

행렬은 그 안에 저장되는 모든 데이터는 같은 형태여야 하지만

데이터 프레임은 열별로만 같은 데이터 형태이면 되고, 여러 형태의 데이터를 동시에 저장할 수 있다.

3.3 데이터 특성

  • 기술통계학(Descriptive Statistics)
    • 데이터의 특성을 이용해 데이터를 요약하는 통계학의 한 분야
      • 데이터의 특성 - 세기(count)와 비율, 평균과 중앙값, 분산과 표준편차 등
    • tavle() 함수 : 인수로 전달한 팩터 혹은 벡터의 값 별로 개수를 구함. 수행 결과를 테이블 데이터 구조로 반환함.
    • prop.table() 함수 : 테이블 데이터 구조를 인수로 하여 비율을 구함.
    • mean() 함수 : 평균값을 구하기 위한 함수
      • 무게중심을 나타내는 값
    • median() 함수 : 중앙값을 구하기 위한 함수
      • 중앙값 : 데이터를 순서대로 나열했을 때 위치상 중앙에 있는 값
      • 평균은 양 끝 값의 변화에 민감한 반면, 중앙값은 값의 변화에 대해 강건함.

  • 데이터의 특성을 대푯값이 평균으로만 파악하면 각 데이터가 가진 정보가 사라지고 평균 하나만 남아 데이터에 대한 이해가 부족해질 수 있음. → sol.개별 데이터가 가진 정보를 살리는 방법으로 분산(혹은 표준편차)을 구함.

  • 분산 혹은 표준편차가 크다는 것은 데이터가 평균과 떨어진 정도가 크다는 것을 의미. 즉, 데이터가 퍼져 있는 정도가 크다는 것은 데이터의 모양을 나타내는 특성이 됨. (→ 수식을 외울 필요는 없음.)

  • 상자도표(Box plot)
    • 중앙값과 같이 위치값을 이용하여 그린 도표
    • 상자 도표는 전체 데이터를 순서대로 나열하고, 데이터 개수를 동일하게 4등분하는 위치값을 연결한 도표.

    • 다섯자리 숫자요약: 동일하게 4등분하는 위치값인 사분위수와 최소값 등 5개의 위치값을 이용하여 데이터를 요약하는 방법 → fivenum() 함수를 이용해 다섯자리 숫자요약을 수행할 수 있음.
      • 제1사분위수(Q1): 전체 데이터를 순서대로 나열할 때 25%가 되는 위치값
      • 제2사분위수(Q2, 중앙값): 전체 데이터를 순서대로 나열할 때 50%가 되는 위치값
      • 제3사분위수(Q3): 전체 데이터를 순서대로 나열할 때 75%가 되는 위치값
      • 제4사분위수(Q4): 전체 데이터를 순서대로 나열할 때 100%가 되는 위치값

    • 상자도표 그리는 법
      • 제1사분위수를 밑벼능로 하고, 제3사분위수를 윗변으로 하는 직사각형을 그림
      • 직사각형 중간에 위치하는 제2사분위수를 굵게 표시
      • 직사각형 윗변(제3사분위수)과 제4사분위수를 점선으로 연결
      • 직사각형 아랫변(제1사분위수)과 최솟값을 점선으로 연결

상자도표

    • 상자도표를 통해 파악하는 데이터 모양
      • 상자도표는 전체 데이터를 네 조각으로 나눈 것이므로, 조각별로 자료의 25%가 존재
      • 각 조각마다 중복 값이 없으면 동일한 개수의 데이터가 존재하며,각 조각의 길이가 서로 다르다면 상자도표의 길이가 짧을수록 몰려 있는 정도가 크다는 것을 의미함. → 다섯자리 숫자요약을 이용한 상자 도표를 통해 전체 데이터가 어떻게 생겼는지 추측 가능.

  • 두 변수 사이의 관계
    • 피어슨의 상관계수 : 어떤 변수의 값이 변화함에 따라 쌍을 이룬 다른 변수의 변화를 숫자로 나타내는 방법
    • 상관계수는 -1부터 1 사이의 값을 가진다.
      • 양수 : 한 변수와 대응하는 다른 변수가 같은 방향으로 변화
      • 음수 : 한 변수와 대응하는 다른 변수가 반대 방향으로 변화
      • 1또는 -1에 가까울수록 강한 상관이 있다고 하며, 0에 가까울수록 상관이 없다고 함.
      • 1또는 -1에 가까울수록 직선에 가까워지고, 0에 가까울수록 직선 형태에서 벗어남.
      • 상관계수에 따른 산점도의 모양 → 기울기가 아닌 직선 형태의 정도
    • cor() 함수 : 인수로 상관게수를 구할 두 데이터를 저장한 벡터를 인수로 사용
    • 상관관계와 인과관계
      • 상관계수는 두 변수 사이에 상관의 정도를 나타내는 것이지 원인과 결과를 나타내는 인과관계를 설명하는 것이 아님.