A: 조건에 따라 그룹화하고 계산하는 방법
다음 기본 구문을 사용하여 R에서 그룹화 및 계산 조건을 수행할 수 있습니다.
library (dplyr) df %>% group_by(var1) %>% summarize(count = sum(var2 == ' val '))
이 특정 구문은 var1을 기준으로 데이터 프레임의 줄을 그룹화한 다음 var2가 “val”과 같은 줄 수를 계산합니다.
다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.
예: R의 조건을 사용하여 그룹화 및 개수 계산
다양한 농구 선수에 대한 정보를 포함하는 다음과 같은 데이터 프레임이 R에 있다고 가정합니다.
#create data frame df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'), pos=c('Gu', 'Fo', 'Fo', 'Fo', 'Gu', 'Gu', 'Fo', 'Fo'), points=c(18, 22, 19, 14, 14, 11, 20, 28)) #view data frame df team pos points 1 A Gu 18 2 A Fo 22 3 A Fo 19 4 A Fo 14 5 B Gu 14 6 B Gu 11 7 B Fo 20 8 B Fo 28
다음 코드는 팀 변수별로 데이터 프레임을 그룹화하고 pos 변수가 “Gu”인 행 수를 계산하는 방법을 보여줍니다.
library (dplyr)
#group by team and count rows where pos is 'Gu'
df %>%
group_by(team) %>%
summarize(count = sum(pos == ' Gu '))
# A tibble: 2 x 2
team count
1 to 1
2 B 2
결과에서 우리는 다음을 볼 수 있습니다:
- A팀에는 pos 열이 “Gu”와 동일한 행이 1 개 있습니다.
- B팀에는 pos 열이 “Gu”와 동일한 2개의 행이 있습니다.
유사한 구문을 사용하여 숫자 조건으로 그룹화하고 개수를 계산할 수 있습니다.
예를 들어 다음 코드는 팀 변수별로 그룹화하고 포인트 변수가 15보다 큰 행 수를 계산하는 방법을 보여줍니다.
library (dplyr)
#group by team and count rows where pos is 'Gu'
df %>%
group_by(team) %>%
summarize(count = sum(points > 15 ))
# A tibble: 2 x 2
team count
1 to 3
2 B 2
결과에서 우리는 다음을 볼 수 있습니다:
- A팀에는 포인트 열이 15보다 큰 라인이 3 개 있습니다.
- B팀에는 포인트 열이 15보다 큰 라인이 2 개 있습니다.
비슷한 구문을 사용하여 원하는 특정 조건으로 그룹화하고 계산할 수 있습니다.
추가 리소스
다음 튜토리얼에서는 R에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.