< 결측치 >
결측치(Missing value)란, 데이터를 측정하는데 있어서 어떤 이유로 인해 값을 측정하지 못한 경우를 말한다.
결측치는 NA로 표시하며 NA는 존재하지만 불확실한 값이다.
var <- data.frame(mid = c(87, 88, 90, NA, 70), final = c(90, 80, 89, 58, 90))
var
참고로 NULL은 값이 없다는 표기이다.
쉽게 이야기 하면 변수는 데이터를 담는 상자에 비유할 수 있는데,
비어 있는 상자는 NULL이고, 상자 안은 볼 수 없지만 무엇인가 들어있는 것은 NA이다.
< 데이터 프레임 인덱싱 >
데이터 프레임의 전체가 하니라 특정 행, 열만 추출하는 것을 인덱싱이라고 한다.
행과열을 이용한 방식 변수명[행, 열] 으로 인덱싱 할 수 있다.
한 개의 열만 인덱싱 했을 경우에는 데이터 프레임 형태를 유지할 필요가 없다고 판단하여 자동으로
차원이 1차원으로 축소되는데 이를 방지하기 위해서는 drop=F 옵션을 사용한다.
class( ) 명령어로는 데이터 구조를 파악할 수 있다.
student_id <- c("100", "101", "110", "120", "121")
mid_score <- c(88, 90, 85, 56, 77)
final_score <- c(92, 88, 70, 60, 90)
var <- data.frame(student_id, mid_score, final_score)
var
var[1, 2:3]
var[1, ]
var[, 3, drop=F]
var[2:4, 3, drop=F]
class(var[, 3, drop=F])
class(var[, 3])
< 데이터 프레임 필터링 >
데이터 프레임에 조건을 걸어 조건에 맞는 값만 필터링 할 수 있다.
1) 조건 비교
조건 비교는 조건이 참일 경우 TRUE(참) 아닐 경우 FALSE(거짓)인 논리 값을 출력한다.
>= 왼쪽이 크거나 같다.
<= 왼쪽이 작거나 같다.
> 왼쪽이 크다.
< 왼쪽이 작다.
== 양쪽이 같다.
2) 논리 비교
논리 비교는 두 조건을 비교해 &(and연산)의 경우는 두 조건이 모두 참일 때 TRUE를 출력
| (or연산)의 경우는 두 조건 중 하나만 참이어도 TRUE를 출력한다.
3 > 4
3 >= 3
3 > 4 & 3 >= 3
3 > 4 | 3 >= 3
var
var[var$mid_score >= 80, ]
var[var$mid_score >= 80 & var$final_score >= 80, ]
< NA가 포함된 데이터 프레임의 필터링 >
NA가 포함되어 있을 경우에는 [ ] (행렬방식의 인덱싱) 으로는 NA를 처리하지 못한다.
그럴 때는 subset(변수명, 조건)을 통해 필터링 할 수 있다.
student_id <- c("100", "101", "110", "120", "121")
mid_score <- c(88, 90, 85, 56, 77)
final_score <- c(92, 88, 70, 60, NA)
var <- data.frame(student_id, mid_score, final_score)
var
var[var$final_score >= 70, ]
subset(var, final_score >= 70)
'R프로그래밍' 카테고리의 다른 글
[R프로그래밍] 워킹디렉토리 설정, 데이터 불러오기(TXT, CSV file) (0) | 2020.03.12 |
---|---|
[R프로그래밍] 패키지 설치 및 관리 (0) | 2020.03.11 |
[R프로그래밍] 데이터 프레임 핸들링 (0) | 2020.03.09 |
[R프로그래밍] 데이터 구조(벡터, 행렬, 리스트, 데이터 프레임) (0) | 2020.03.06 |
[R프로그래밍] 변수와 데이터 타입, 주석처리 (0) | 2020.03.05 |