[R] 범주형 데이터 (Factor)

2025. 4. 18. 18:43·직장인 대학원/R
목차
  1. ✅ Factor란?
  2. ✨ Factor 생성 기본
  3. 🧭 직접 level 순서 지정하기
  4. 📊 도수분포표 만들기 – table() 함수
  5. 📌 오늘의 깨달음
728x90
반응형

오늘 수업에서는 R에서 범주형 데이터, 즉 Factor에 대해 배웠다.
처음엔 그냥 문자 벡터랑 뭐가 다르지? 싶었는데, 데이터에 의미 있는 "범주"를 부여하는 도구라는 걸 알고 꽤 유용하다고 느꼈다!

 

✅ Factor란?

  • 범주형 데이터를 표현하는 특수한 데이터 타입
  • 숫자나 문자열로만 구분하기보다, **라벨(label)**을 붙여서 더 자기 설명적인 self-describing 데이터를 만들 수 있음
  • 예시:
    • 성별: "남", "여"
    • 만족도: "매우좋음", "좋음", "보통", "나쁨"...
    • 혈액형: "A", "B", "AB", "O"

 

✨ Factor 생성 기본

 
x <- factor(c("yes", "yes", "no", "yes", "no"))
x
[1] yes yes no yes no
Levels: no yes

 

  • 자동으로 알파벳 순서로 level 정렬됨 (no, yes)
  • factor()는 문자 벡터 → 범주형 데이터로 바꿔주는 함수

 

🧭 직접 level 순서 지정하기

x <- factor(
	c("yes", "yes", "no", "yes", "no")
    , levels = c("yes", "no")
)
x

 

→ 내가 원하는 순서대로 "yes"를 앞에 두고 "no"가 뒤에 옴

 

📊 도수분포표 만들기 – table() 함수

 
blood.type <- factor(
	c("A", "A", "AB", "O", "O")
    , levels = c("A", "B", "AB", "O")
)
table(blood.type)
A  B AB O 
2  0  1  2

 

  • "B"는 데이터에 없지만 level에 포함되어 있어서 0도 나옴
  • 덕분에 모든 범주를 빠짐없이 보여주는 표를 만들 수 있음!

 

📌 오늘의 깨달음

Factor는 단순히 문자열을 담는 게 아니라, 해당 값이 의미하는 "범주(category)" 를 명확하게 함"
특히 통계 분석, 분류 모델, 시각화에서 정말 유용할 것 같음.
데이터에 라벨과 순서를 부여해서 훨씬 의미 있는 분석을 할 수 있다는 게 포인트다! 🎯
결론 : 넘 신기

728x90
반응형
저작자표시 (새창열림)

'직장인 대학원 > R' 카테고리의 다른 글

[R] 파이프 (pipe)  (0) 2025.04.18
[R] 데이터 프레임 (Data Frame)  (0) 2025.04.18
[R] 리스트 (List)  (0) 2025.04.18
[R] 매트릭스 (Matrix)  (0) 2025.04.18
[R] 벡터(Vector)  (0) 2025.04.18
  1. ✅ Factor란?
  2. ✨ Factor 생성 기본
  3. 🧭 직접 level 순서 지정하기
  4. 📊 도수분포표 만들기 – table() 함수
  5. 📌 오늘의 깨달음
'직장인 대학원/R' 카테고리의 다른 글
  • [R] 파이프 (pipe)
  • [R] 데이터 프레임 (Data Frame)
  • [R] 리스트 (List)
  • [R] 매트릭스 (Matrix)
Binsoo
Binsoo
내 트러블 슈팅
  • Binsoo
    정수빈 기술블로그임.
    Binsoo
  • 전체
    오늘
    어제
    • 빈수 개발자 개발 일기 (932) N
      • 개발중 (634) N
        • Spring Boot (95)
        • Spring Security (2)
        • Spring Batch (6)
        • Spring Boot & Redis (13)
        • Java Persistence API (JPA) (28)
        • Web (42)
        • Rest Api (7)
        • Spring Concurrency Control (3)
        • Redis (8)
        • Kubernetes (k8s) (4)
        • MYSQL (35)
        • AirFlow (15)
        • Docker (2)
        • Git (22)
        • Linux (9)
        • JSON Web Tokens (JWT) (4)
        • Troubleshooting (87)
        • Swagger (0)
        • Vue.js (52)
        • Java (74)
        • html (12)
        • C (5)
        • jQuery (15)
        • JavaServer Pages (JSP) (17)
        • Arduino (1)
        • JavaScript (35)
        • Amazon Web Services (AWS) (11)
        • Algorithm (9)
        • 참고 기능 (18) N
        • mongo (2)
      • PROJECT (27)
        • 스프링부트+JPA+몽고 API 개발 (3)
        • MINI (2)
        • 게시판 (3)
        • vue 프로젝트 (1)
        • JPA 사이드 프로젝트 기록 (17)
      • TEAM STUDY (156)
        • 가상 면접 사례로 배우는 대규모 시스템 설계 기초 (8)
        • 한 권으로 읽는 컴퓨터 구조와 프로그래밍 (12)
        • NAVER DEVELOPER (4)
        • LINUX (23)
        • PYTHON (19)
        • SERVER (8)
        • 알고리즘 코딩 테스트 스터디 (31)
        • 쿠버네티스 (40)
        • 대세는 쿠버네티스 [초급~중급] (11)
      • BOOK (0)
      • 자격증 (61)
        • 리눅스 1급 - 필기 기록 (19)
        • 네트워크 관리사 (2)
        • 네트워크 관리사 2급 - 실기 기록 (21)
        • 네트워크 관리사 2급 - 필기 기록 (16)
        • 정보처리 (2)
      • 직장인 대학원 (17)
        • 기록 (1)
        • 캐글 스터디 (3)
        • R (12)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    알고리즘
    Git 저장소
    redis
    네트워크 관리사 요약
    Spring
    쿠버네티스
    네트워크 관리사 실기
    스프링
    리눅스 마스터
    네트워크 관리사 학점
    리눅스 마스터 1급 정리
    springboot
    네트워크 관리사 2급 실기
    jpa
    docker
    네트워크 관리사 2급
    파이썬 알고리즘
    네트워크 관리사
    네트워크 관리사 자격증
    git
    java
    파이썬
    VUE
    REST API
    BackendDevelopment
    리눅스 마스터 1급 요약
    쿠버네티스 스터디
    리눅스 마스터 요약
    리눅스 1급 요약
    리눅스 마스터 1급
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
Binsoo
[R] 범주형 데이터 (Factor)

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.