안녕하세요. 우주신입니다.


이번 포스팅에서는 누적과 관련된 함수에 대해 정리해보겠습니다.


cumsum(), cumprod(), cummax(), cummin()


익숙해지시면 유용하게 사용되는 무척 간단한 함수들 입니다.




1. 누적 합 (Cumulative Sum)



1부터 10까지 값을 벡터 a에 넣었습니다.

모두가 아는 함수로 sum()을 통해  a의 구성값들 합을 구했습니다.


그러나, 여기서 각 누적 합을 나타내려면 어떻게 해야할까요?



흔히들 while(), for() 등 반복문 함수를 통해 표현하려 시도하겠지만,


cumsum() 함수 하나면 다 해결됩니다. (결과 값은 다른 형태로 표시 됩니다)


데이터프레임으로 응용해보겠습니다.

벡터 b, c를 만든 후, 데이터프레임 df를 생성했습니다.

b의 누적 합을 cumsum(df$b)을 통해 구한 후, 이를 데이터프레임의 새로운 변수로 추가해봤습니다.




2. 누적 곱 (Cumulative Products)


누적 곱을 for문을 통해 나타내봤습니다.


이 또한 cumprod() 한줄로 깔끔하게 완성!




3. 누적 최대값, 최소값(Cumulative Max, Min)


cummax(), cummin()을 통해 누적 최대값, 최소값도 아주 쉽게 구할 수 있습니다.


-cummax(): 맨 처음 값을 출력하고 그 다음 값과 비교 후, 그 값이 더 크다면 그 값을 출력

-cummin((): 맨 처음 값을 출력하고 그 다음 값과 비교 후, 그 값이 더 작다면 그 값을 출력


참고로, cummin()을 for(), if() 함수를 통해 직접 구현해 본다면,

cummin()에게 고마움을 느낄 수 있습니다.




끝. 


수고하셨습니다.






  1. 2020.11.16 20:09

    비밀댓글입니다

+ Recent posts