DataScience
article thumbnail
728x90

 

basic1.csv
0.00MB

 

주어진 데이터 셋에서 'f2' 컬럼이 1인 조건에 해당하는 데이터의 'f1'컬럼 누적합을 계산한다. 
이때 발생하는 누적합 결측치는 바로 뒤의 값을 채우고, 누적합의 평균값을 출력한다. 
(단, 결측치 바로 뒤의 값이 없으면 다음에 나오는 값을 채워넣는다)

library(dplyr)
library(zoo)
df=read.csv('../input/bigdatacertificationkr/basic1.csv')

ans<-df%>%filter(f2==1)
	%>%summarise(cumsum=cumsum(coalesce(f1, 0)) + f1*0)
    %>%mutate(pre_f1 = na.locf(cumsum,fromLast=T))
    %>%select(pre_f1)
    %>%sapply(mean)
print(ans)

#정답 : 980.3784

 

암기

library(zoo)

na.locf(object, fromLast=FALSE)  #결측값을 이전 행의 값으로 대체

# fromLast = TRUE : NA를 다음 행 값으로 치환

coalesce함수:결측값을 대체하는 함수

https://statisticsglobe.com/r-coalesce-function-dplyr-package

profile

DataScience

@Ninestar

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!