728x90
공부 페이지
277 페이지 ~ 281 페이지
배운 개념
$를 활용한 변수 수정과 추가하기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | > setwd("~/Documents/Workspace/R/Practice/data") > demo = read.csv("gender_age.csv", fileEncoding = "euc-kr") > demo$Gender = factor(demo$Gender) > str(demo) 'data.frame': 6 obs. of 2 variables: $ Gender: Factor w/ 2 levels "1","2": 1 2 1 2 1 2 $ Age : int 30 20 20 20 30 30 > paste0(demo$Gender, "_", demo$Age, "대") [1] "1_30대" "2_20대" "1_20대" "2_20대" "1_30대" "2_30대" > demo$Group = paste0(demo$Gender, "_", demo$Age, "대") > str(demo) 'data.frame': 6 obs. of 3 variables: $ Gender: Factor w/ 2 levels "1","2": 1 2 1 2 1 2 $ Age : int 30 20 20 20 30 30 $ Group : chr "1_30대" "2_20대" "1_20대" "2_20대" ... | cs |
levels() 함수로 범주형 변수의 수준 확인하고 바꾸기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | > levels(demo$Gender) [1] "1" "2" > levels(demo$Gender) = c("1_남자", "2_여자") > demo Gender Age Group 1 1_남자 30 1_30대 2 2_여자 20 2_20대 3 1_남자 20 1_20대 4 2_여자 20 2_20대 5 1_남자 30 1_30대 6 2_여자 30 2_30대 > demo$Gender [1] 1_남자 2_여자 1_남자 2_여자 1_남자 2_여자 Levels: 1_남자 2_여자 > as.numeric(demo$Gender) [1] 1 2 1 2 1 2 | cs |
levels() 함수로 수준 이름을 바꾸어도, as.numeric() 함수로 숫자로 바꿔보면 숫자 형태로 저장되어 있는 것을 확인할 수 있다.
첫 번째 관측치는 1의 값을 가진다. 이 1은 수준 중 첫 번째 값을 참조해서 "1_남자"라는 결과를 출력한다. 2라는 값 역시 수준에서 두 번째 값 "2_여자"를 참조하는 것이다.
따라서 각 관측치들의 숫자들이 참조하는 수준을 바꾸면 우리 눈에 보이는 결과도 달라진다.
which() 함수로 조건과 일치하는 관측치 찾기
1 2 3 4 5 6 7 8 | > demo$Age == 30 [1] TRUE FALSE FALSE FALSE TRUE TRUE > which(demo$Age == 30) [1] 1 5 6 > which(demo$Age == 30 & demo$Gender == '1_남자') [1] 1 5 | cs |
조건을 만족하는 관측치가 데이터의 어디에 위치하고 있는지 궁금할 때, which() 함수 안에 논리연산으로 조건을 넣으면, 결괏값이 TRUE 인 관측치의 번호를 출력한다.
다음 시간에 배울 것
R 기본 함수
'R > R 프로젝트' 카테고리의 다른 글
[ 이토록 쉬운 통계&R 100일 프로젝트 ] 50일차 (0) | 2018.07.05 |
---|---|
[ 이토록 쉬운 통계&R 100일 프로젝트 ] 49일차 (0) | 2018.07.04 |
[ 이토록 쉬운 통계&R 100일 프로젝트 ] 47일차 (0) | 2018.07.02 |
[ 이토록 쉬운 통계&R 100일 프로젝트 ] 46일차 (0) | 2018.07.01 |
[ 이토록 쉬운 통계&R 100일 프로젝트 ] 45일차 (0) | 2018.06.30 |
댓글