누적과 연결

R-Blogger · 블로그·해설 · 2023-10-18

R-Blogger블로그·해설한국어2023-10-18

누적과 연결

Excel BI의 Excel Challenge #313 – R로 해결 오늘은 주어진 테이블을 누적 형태로 변환하는 과제를 수행합니다. 각 컬럼은 2행 지연된 컬럼의 내용을 포함해야 하며, 최종적으로 누적된 결과 테이블을 생성해야 합니다. 여기서 Tn = Tn-2 & Tn 와 같은 관계를 이용합니다. 아래 예시는 tidyverse 패키지를 활용한 간단한 R 구현입니다. 데이터프레임 df 가 있다고 가정하고, 각 컬럼에 대해 2행 지연값을 더한 누적값을 계산합니다. # 필요 패키지 로드 library(dplyr) library(tidyr) # 예시 데이터 df <- tibble( A = 1:5, B = 6:10, C = 11:15 ) # 2행 지연값을 더한 누적값 계산 result <- df %% mutate(across(everything(), ~ c(NA, NA, lag(., 2), .) %% cumprod(), .names = "cum_{col}")) # 결과 확인 print(result) 위 코드에서 lag(., 2) 는 현재 컬럼을 2행씩 뒤로 이동시킨 벡터를 반환합니다. c(NA, NA, lag(., 2), .) 로 앞에 NA를 두어 누적 계산이 정상적으로 진행되도록 하였으며, cumprod() 를 사용해 누적 곱을 구했습니다. 필요에 따라 cumsum() 로 누적 합을 구할 수도 있습니다. 원본 데이터프레임을 준비합니다. 각 컬럼에 대해 2행 지연값을 삽입합니다. 누적 연산(곱 또는 합)을 수행합니다. 결과 테이블을 확인하고 필요에 따라 가공합니다. 이 과정을 통해 원본 데이터와 지연된 값을 포함한 누적 테이블을 손쉽게 생성할 수 있습니다. 추가적인 질문이 있으시면 언제든지 댓글로 알려 주세요.
원문 URL
전체 글은 원문 페이지에서 이어서 읽을 수 있습니다.
원문에서 전체 글 읽기
작성자
R-Blogger
출처
R-Blogger
플랫폼
R-Blogger
분류
블로그·해설
언어
한국어
발행일
2023-10-18