R에서 na가 아닌 값을 계산하는 방법(예제 3개)
R에서 NA가 아닌 값을 계산하려면 다음 방법을 사용할 수 있습니다.
방법 1: 전체 데이터 프레임에서 NA가 아닌 값을 센다
sum( ! is. na (df))
방법 2: 데이터 프레임의 각 열에서 NA가 아닌 값을 계산합니다.
colSums( ! is. na (df))
방법 3: 데이터 프레임에서 그룹당 NA가 아닌 값을 계산합니다.
library (dplyr) df %>% group_by(var1) %>% summarise(total_non_na = sum( ! is. na (var2)))
다음 예에서는 다음 데이터 프레임에서 이러한 각 방법을 실제로 사용하는 방법을 보여줍니다.
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
points=c(12, NA, 30, 32, 20, 22, 17, NA),
rebounds=c(10, 8, 9, 13, NA, 20, 8, 7))
#view data frame
df
team points rebounds
1 to 12 10
2 A NA 8
3 to 30 9
4 A 32 13
5 B 20 NA
6 B 22 20
7 B 17 8
8 B NA 7
방법 1: 전체 데이터 프레임에서 NA가 아닌 값을 센다
다음 코드는 전체 데이터 프레임에서 NA가 아닌 값의 총계를 계산하는 방법을 보여줍니다.
#count non-NA values in entire data frame
sum( ! is. na (df))
[1] 21
결과를 보면 전체 데이터 프레임에 NA가 아닌 값이 21개 있다는 것을 알 수 있다.
방법 2: 데이터 프레임의 각 열에서 NA가 아닌 값을 계산합니다.
다음 코드는 데이터 프레임의 각 열에서 NA가 아닌 값의 합계를 계산하는 방법을 보여줍니다.
#count non-NA values in each column
colSums( ! is. na (df))
team points rebounds
8 6 7
결과에서 우리는 다음을 볼 수 있습니다:
- 팀 열에는 NA가 아닌 값이 8개 있습니다.
- 포인트 열에는 NA가 아닌 값이 6개 있습니다.
- 반송 열에는 NA가 아닌 값이 7개 있습니다.
방법 3: NA가 아닌 값을 그룹별로 계산
다음 코드는 팀 열별로 그룹화된 포인트 열의 NA가 아닌 총 값을 계산하는 방법을 보여줍니다.
library (dplyr)
df %>%
group_by(team) %>%
summarise(total_non_na = sum( ! is. na (points)))
# A tibble: 2 x 2
team total_non_na
1 to 3
2 B 3
결과에서 우리는 다음을 볼 수 있습니다:
- A팀의 포인트 열에는 NA가 아닌 값이 3개 있습니다.
- B팀의 포인트 열에는 NA가 아닌 값이 3개 있습니다.
추가 리소스
다음 튜토리얼에서는 R에서 누락된 값을 사용하여 다른 일반적인 작업을 수행하는 방법을 설명합니다.