본문 바로가기
R

R ) data table, data frame을 이용해 그룹별 최대값 구하기 (통계값 구하기) in r

by C.Mond 2022. 9. 2.
728x90
728x90

안녕하세요 오늘은 data table, data frame을 이용해 그룹별 최대값이나 그룹별 통계값을 구하는것을 기록하려고 합니다

 

data는 iris data를 쓰도록 하겠습니다.

 

먼저 data table형식에서 그룹별 최대값을 구하는 것을 해보겠습니다.

 

iris의 Species별로 최대값을 구해 iris data에 column으로 붙여주겠습니다.

 

iris
iris <- as.data.table(iris)
iris[,c("max_Length","max_Width"):=list(max(Sepal.Length),max(Sepal.Width)),by=c("Species")]

위와 같이 입력하면 그룹별 Sepal.Length와 Sepal.Width의 최대값이 새로운 column으로 붙은것을 확인할 수 있습니다.

 

이번엔 data frame을 이용해 해보겠습니다.

 

위 문법은 data table에 적용시킬 수 있는 문법입니다.

 

iris <- as.data.frame(iris)
iris_group <- iris %>%
group_by(Species) %>%
summarise(max_Length=max(Sepal.Length),max_Width=max(Sepal.Width)) inner_join(iris,iris_group,by="Species")

이렇게 해서도 붙일 수 있습니다.

 

아래방법은 좀 거쳐야하는 과정이 있는 방법입니다. 간단한건 data table에서 하는 방법이 아주 간단한것 같습니다.

 

속도도 빠른듯 합니다.

 

728x90
728x90

댓글