Nothing
      #######################################################################
# Moving Generator -  Infrastructure for Moving Streams
# Copyright (C) 2013 Michael Hahsler, Matthew Bolanos, John Forrest 
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
add_cluster <- function(x, time, ...) 
  UseMethod("add_cluster")
get_clusters <- function(x, time, ...) 
  UseMethod("get_clusters")
remove_cluster <- function(x, time, ...) 
  UseMethod("remove_cluster")
dsd_MG_refClass <- setRefClass("dsd_MG", 
  fields = list(
    t = "numeric",
    dimension = "numeric",
    clusters = "list",
    numberPerStep = "numeric"
  ),
  methods = list(
    initialize = function(d) {
      dimension  <<- d
      t <<- 1
      .self
    }
    
  ),
)
dsd_MG_refClass$methods(
  add_cluster = function(c) {
    clusters <<- append(clusters, c$RObj)
  },
  get_points = function(n,assignment = FALSE) {
    j <- 0
    data <- numeric()
    a <- numeric()
    
    while(j < n) {
      attributes <- do.call(rbind, lapply(clusters,function(x){x$get_attributes(t)}))
      
      cluster <- unlist(attributes[,1])
      density <- unlist(attributes[,2])
      
      pointsPerSecond <- sum(density)
      pointsLeftInSecond <- pointsPerSecond - (t - floor(t))*pointsPerSecond
      if((j + pointsLeftInSecond) > n)
        k <- n-j
      else 
        k <- pointsLeftInSecond
      t <<- t + k/pointsPerSecond
      
      if(k>=1) {
        s <- 1:length(clusters)
        prob <- density
        clusterOrder <- sample(x=s,size=k, replace=TRUE, prob=prob)
        
        data <- rbind(data,t(sapply(clusterOrder, FUN = function(i) {
            clusters[[i]]$get_points(t)
        })))
       
        a <- c(a,unlist(lapply(clusterOrder,function(x){
          if(!is.na(cluster[x]) && cluster[x] == 0) return(0)
          if (any(is.na(cluster))) return(x)
          cluster[x]
        })))
        j <- nrow(data)
      }
    }
    data <- data.frame(data)
    if(assignment)
      attr(data,"assignment") <- a
    data[1:n,]
  }
)
### creator    
DSD_MG<- function(dimension = 2, ...) {
  
  desc <- "Moving Data Generator"
  
  x <- structure(list(description = desc,
                 RObj = dsd_MG_refClass$new(d = dimension)),
            class = c("DSD_MG","DSD_R","DSD"))
  
  lapply(list(...),function(c){x$RObj$add_cluster(c)})
  
  x
}
get_points.DSD_MG <- function(x, n=1, assignment = FALSE,...) {
  x$RObj$get_points(n,assignment)
}
add_cluster.DSD_MG <- function(x, c) {
  x$RObj$add_cluster(c)
}
reset_stream.DSD_MG <- function(x) {
  x$RObj$t <- 1
}
print.DSD_MG <- function(x, ...) {
  cat(paste(x$description, " (", paste(class(x), collapse=", "), ")", '\n', sep=""))
  cat(paste('With', length(x$RObj$clusters), 'clusters', 'in', x$RObj$dimension, 'dimensions', '\n'))
}
get_clusters.DSD_MG <- function(x) {
  x$RObj$clusters
}
remove_cluster.DSD_MG  <- function(x,i) {
  x$RObj$clusters[[i]] <- NULL
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.