2019年9月4日水曜日

ggplot() geom_point() geom_amooth() aes(color= )

## codes start sample#1

w <- (to.monthly(SP5)[,4]/to.monthly(SP5)[,1])["1970::2018"]
w <- w-1
# w <- (apply.monthly(SP5[,4],sd)/apply.monthly(SP5[,4],mean))["1970::2018"]
d <- na.omit(diff(cli_xts$oecd,5))["1970::2018"]
func <- function(x){
  if(x > 0.1){return("upper")}
  if(x > 0){return("uppermiddle")}
  if(x > -0.1){return("lowermiddle")}
  if(x < -0.1){return("lower")}
}
df <- data.frame(monthlyreturn=as.vector(w),delta=as.vector(d),sign=as.vector(apply(diff(cli_xts$oecd)["1970::2018"],1,func)))
p <- ggplot(df, aes(x=delta,y=monthlyreturn,color=sign))
p <- p + geom_point(alpha=0.5)
p <- p + geom_smooth(method = "lm")
plot(p)

## codes end here

sample #1


## codes start sample#2

w <- (to.monthly(SP5)[,4]/to.monthly(SP5)[,1])["1970::2018"]
w <- w-1
# w <- (apply.monthly(SP5[,4],sd)/apply.monthly(SP5[,4],mean))["1970::2018"]
d <- na.omit(diff(cli_xts$oecd,5))["1970::2018"]
func <- function(x){
  if(x > 0.1){return("upper")}
  if(x > 0){return("uppermiddle")}
  if(x > -0.1){return("lowermiddle")}
  if(x < -0.1){return("lower")}
}
df <- data.frame(monthlyreturn=as.vector(w),delta=as.vector(d),sign=as.vector(apply(diff(cli_xts$oecd)["1970::2018"],1,func)))
p <- ggplot(df, aes(x=delta,y=monthlyreturn))
p <- p + geom_point(alpha=0.5,aes(color=sign))
p <- p + geom_smooth(method = "lm")
plot(p)

## codes end here

sample #2



## codes start sample#3

w <- (to.monthly(SP5)[,4]/to.monthly(SP5)[,1])["1970::2018"]
w <- w-1
# w <- (apply.monthly(SP5[,4],sd)/apply.monthly(SP5[,4],mean))["1970::2018"]
d <- na.omit(diff(cli_xts$oecd,5))["1970::2018"]
func <- function(x){
  if(x > 0.1){return("upper")}
  if(x > 0){return("uppermiddle")}
  if(x > -0.1){return("lowermiddle")}
  if(x < -0.1){return("lower")}
}
df <- data.frame(monthlyreturn=as.vector(w),delta=as.vector(d),sign=as.vector(apply(diff(cli_xts$oecd)["1970::2018"],1,func)))
p <- ggplot(df, aes(x=delta,y=monthlyreturn))
p <- p + geom_point(alpha=0.5,aes(color=sign))
p <- p + geom_vline(xintercept =as.vector(last(diff(cli_xts$oecd,5))),size=0.5,linetype=2,colour="white",alpha=0.5)
p <- p + geom_smooth(method = "auto")
plot(p)

## codes end here

sample #3
# addtional cli 1month delta vs. 1 month return. sample scale_color_brewer

w <- apply.monthly(SP5[,4],mean)["1970::2018"]/as.vector(apply.monthly(SP5[,4],mean)["1969-12-01::2018-11-30"])
w <- w-1
# w <- (apply.monthly(SP5[,4],sd)/apply.monthly(SP5[,4],mean))["1970::2018"]
d <- na.omit(diff(cli_xts$oecd,1))["1970::2018"]
func <- function(x){
  if(x > 1){return("a")}
  if(x > 0){return("b")}
  if(x > -1){return("c")}
  if(x < -1){return("d")}
}
df <- data.frame(monthlyreturn=as.vector(w),delta=as.vector(d),sign=as.vector(apply(diff(cli_xts$oecd,5)["1970::2018"],1,func)))
p <- ggplot(df, aes(x=delta,y=monthlyreturn))
p <- p + geom_point(alpha=1,aes(color=sign))
p <- p + geom_smooth(method = "auto")

p <- p +scale_color_brewer(palette="Spectral",na.value = "grey50",name = "CLI 5 mon. Delta", labels = c("upper","uppermiddle","lowermiddle","low"))
plot(p)


0 件のコメント: