-
[R기초] subset 함수를 활용해 원하는 데이터만 선택하자R 통계/R 기초 2021. 9. 14. 08:00728x90
subset 함수는 데이터 프레임에서 분석에 활용할 데이터만 선택할 때 유용하다.
subset(데이터명, select = c("변수1," "변수2", ... , "변수n") 의 형태로 column을 선택할 수 있고,
subset 내에 다시 subset을 통해, 특정 범위의 변수 값을 가진 데이터만 선택(혹은 제외) 할 수 있다.
subset(데이터명, subset = (변수명(height) >= 170 & 변수명(weight) <= 80)
#임의 데이터 생성 name <- c("김철수", "김영희", "김개똥", "이소똥", "전말똥") height <- c(170, 165, 183, 155, 178) weight <- c(68.7, 57.4, 83.0, 55.2, 71.4) address <- c("서울시 00구 00동", "부산시 00구 00동", "경기도 인천시 00구 00동", "경기도 성남시 00구 00동", "강원도 강릉시 00동") gender <- c("남", "여", "님", "여", "남") BMI_calc <- data.frame(name, height, weight, address, gender) #필요없는 변수는 제거해보자, BMI_calc2 <- subset(BMI_calc, select = -address ) names(BMI_calc2) <결과1> [1] "name" "height" "weight" "gender" #필요없는 변수만 선택해보자, BMI_calc <- subset(BMI_calc, select = c(name, height, weight, gender)) names(BMI_calc) <결과2> [1] "name" "height" "weight" "gender" #새로운 변수를 생성해보자 BMI <- BMI_calc$weight/(BMI_calc$height/100)^2 BMI_calc <- cbind(BMI_calc, BMI) names(BMI_calc) <결과3> [1] "name" "height" "weight" "address" "gender" "BMI" #원하는 데이터만 구분해보자 height_170_to_180 <- subset(BMI_calc, subset = (height >= 170 & weight <= 80)) View(height_170_to_180) name height weight address gender BMI 1 김철수 170 68.7 서울시 00구 00동 남 23.77163 2 전말똥 178 71.4 강원도 강릉시 00동 남 22.53503
<참고>
<비교연산자>
> (왼쪽이) 크다 < (왼쪽이) 작다 >= (왼쪽이) 크거나 같다 <= (왼쪾이) 작거나 같다 == (양쪽이) 같다 != (양쪽이) 다르다 <논리연산자>
& AND | OR (shift + \) 728x90'R 통계 > R 기초' 카테고리의 다른 글
[R기초] split 함수로 데이터를 나누고, apply함수로 기술통계 비교하기 (0) 2021.09.16 [R기초] 엑셀의 vlookup과 유사한 함수, merge를 알아보자 (0) 2021.09.15 [R기초] colnames 함수를 활용해 변수명 변경하기 (0) 2021.09.13 [R기초] 데이터 단위 위계 한 방 정리(스칼라, 벡터, 요인, 행렬, 배열, 데이터프레임, 리스트) (0) 2021.09.11 [R 기초] 데이터의 형태 (Character, Numeric, Integer, Complex, Logical) (0) 2021.09.10