inst/examples/change.R

library(animint)
data(change)

train.test <- data.frame(x=6, y=c(-3, -5), set=c("train","test"))
likPlot <- ggplot()+
  make_tallrect(change$lik, "complexity")+
  geom_line(aes(complexity, log(log.likelihood+.002), group=set, colour=set),
            data=change$lik, size=5)+
  xlab("model complexity -log(lambda)")+
  guides(colour="none")+
  geom_text(aes(x, y, label=set, colour=set), data=train.test)+
  ggtitle("Train and test likelihood")
print(likPlot)

## Just the variables which have really changed.
changed <- subset(change$truth, changed)
varPlot <- ggplot()+
  geom_text(aes(x,y,label=variable), data=change$pos)+
  geom_segment(aes(v1.x, v1.y, xend=v2.x, yend=v2.y,
                   size=change, colour=change,
                   showSelected=complexity, clickSelects=variables),
               data=subset(change$coefs, coefficient != 0), alpha=3/4)+
  geom_segment(aes(v1.x, v1.y, xend=v2.x, yend=v2.y,
                   size=change, colour=change),
               data=changed)+
  scale_size_manual(values=c(guess=10, true=1))+
  scale_colour_manual(values=c(true="black",guess="violet"))+
  theme(axis.line=element_blank(), axis.text=element_blank(), 
        axis.ticks=element_blank(), axis.title=element_blank())+
  ggtitle("Graphical model structure")
print(varPlot)

## The path of coefficients.
pathPlot <- ggplot()+
  make_tallrect(change$coefs, "complexity")+
  geom_line(aes(complexity, coefficient, group=variables, colour=truth,
                clickSelects=variables),
            data=change$coefs, alpha=3/4, size=3)+
  xlab("model complexity -log(lambda)")+
  ylab("norm of the difference between two variables")+
  scale_colour_manual(values=c("no change"="red", "change"="black"))+
  ggtitle("Regularization path")
print(pathPlot)

viz <- list(path=pathPlot, var=varPlot, lik=likPlot)
gg2animint(viz, "change")
tdhock/animint documentation built on July 27, 2019, 5:57 a.m.