Ε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 devtools::install_github("okgreece/Cluster.OBeu")
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.
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.
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
#Store the link in a variable json_link='http://ws307.math.auth.gr/rudolf/public/api/3/cubes/budget-athens-revenue-2007__93458/aggregate?drilldown=budgetPhase.prefLabel%7CadministrativeClassification.prefLabel&aggregates=amount.sum' clustering = open_spending.cl( 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 jsonlite::prettify(clustering,indent = 2)