Kleanthis Koupidis, Charalampos Bratsas, Jaroslav Kuchar November 9, 2016
#Cluster.OBeu Εstimate and return the necessary parameters for cluster analysis visualizations, used in OpenBudgets.eu. It involves a set of techniques and algorithms used to find and divide into groups the Budget data of municipalities across Europe, described by the OpenBudgets.eu data model.
The available clustering algorithms are hierarchical, kmeans from R base, pam, clara, fuzzy from cluster package and model based algorithms from mclust package. It can be used to find the appropriate clustering algorithm and/or the appropriate clustering number of the input data according to the internal and stability measures from clValid package.
This package can generally be used to estimate clustering parameters, extract and convert them to JSON format and use them as input in a different graphical interface and also can be used in data that are not described by the OpenBudgets.eu data model.
You can see detailed information here.
# install Cluster.OBeu- cran stable version
install.packages(Cluster.OBeu)
# or
# alternatively install the development version from github
::install_github("okgreece/Cluster.OBeu") devtools
Load library Cluster.OBeu
library(Cluster.OBeu)
#Cluster Analysis in a call
cl.analysis
can be used to estimate clustering model
parameters and/or number of clusters needed for visualization of
clusters and other clustering measures as list object.
= cl.analysis( city_data, cl.aggregate = "sum",
cluster_data cl.meth = "pam", clust.numb = NULL, dist = "euclidean", tojson = T) # json string format
::prettify(cluster_data) # use prettify of jsonlite library to add indentation to the returned JSON string jsonlite
#Cluster Analysis on OpenBudgets.eu platform
open_spending.cl
is designed to estimate and return the
clustering model measures of OpenBudgets.eu datasets.
The input data must be a JSON link according to the OpenBudgets.eu data
model. There are different parameters that a user could specify,
e.g. dimensions
, measured.dimensions
and
amounts
should be defined by the user, to form the
dimensions of the dataset. open_spending.cl
estimates and
returns the json data that are described with the OpenBudgets.eu data
model, using cl.analysis
function.
#Store the link in a variable
='http://ws307.math.auth.gr/rudolf/public/api/3/cubes/budget-athens-revenue-2007__93458/aggregate?drilldown=budgetPhase.prefLabel%7CadministrativeClassification.prefLabel&aggregates=amount.sum'
json_link
= open_spending.cl(
clustering json_data = json_link,
dimensions ="administrativeClassification.prefLabel",
measured.dimensions ="budgetPhase.prefLabel",
amounts = "amount.sum",
cl.method = "fanny",
cl.num = 3
)# Pretty output using prettify of jsonlite library
::prettify(clustering,indent = 2) jsonlite