dplyr filter select reframe summarise

ソースコード

quarterlyReturn(GSPC)["1950::2021"] %>% matrix(.,nrow=4) %>% t() -> m
cbind(m,(quarterlyReturn(GSPC)["1951::2022"] %>% matrix(.,nrow=4) %>% t())) -> m
cbind(m,(quarterlyReturn(GSPC)["1952::2023"] %>% matrix(.,nrow=4) %>% t())) %>% as.data.frame() -> m
as.data.frame(m) -> df
df[,-seq(1,3,1)] -> df

head(df)
cbind(idx=seq(1950,2021,1),df)
dplyr::filter(cbind(idx=seq(1950,2021,1),df),V4>0.1,V5>0.09)

dplyr::filter(cbind(idx=seq(1950,2021,1),df),V4>0.1,V5>0.09) %>% dplyr::select(.,1,4,5,6) %>% dplyr::reframe(.,idx,V6+V7+V8)
                                                                                                                             

filter

dplyr::filter(cbind(idx=seq(1950,2021,1),df),V4>0.1,V5>0.09)

filter の出力結果

dplyr::filter(cbind(idx=seq(1950,2021,1),df),V4>0.1,V5>0.09)
idx V4 V5 V6 V7 V8 V9 V10 V11
1 1985 0.1603691 0.1307270 0.04997908 -0.07781849 0.04690468 0.2045258 0.04216657 0.05865127
2 2011 0.1115235 0.1199666 -0.03287961 0.05763641 -0.01005095 0.1002671 0.02363646 0.04685984
V12
1 -0.2322654
2 0.0992001

select

dplyr::select(.,1,4,5,6) 

reframe

dplyr::reframe(.,idx,V6+V7+V8)

reframe の出力結果

> dplyr::filter(cbind(idx=seq(1950,2021,1),df),V4>0.1,V5>0.09) %>% dplyr::select(.,1,4,5,6) %>% dplyr::reframe(.,idx,V6+V7+V8)
idx V6 + V7 + V8

1 1985 0.01906527
2 2011 0.01470585

この記事が気に入ったらサポートをしてみませんか?