Joachim Zuckarelli

Book author • Lecturer • R package developer


BooksR Packages
Lectures & Courses




Curriculum Vitae




Head of Business Intelligence at Evidensia DACH

Lecturer at Hochschule München

Author of two books

Developer/Maintainer of 12 R packages



Project Manager at SYNLAB

Consultant/Senior Consultant/Manager at Deloitte Consulting

Diploma (eq. MSc) in Economics from University of Mannheim


Click covers for
more information.




Articles & Papers


Zuckarelli, Joachim (2020): R-Packages entwickeln Informatik Aktuell, March 27th, 2020 (in German).

Die Statistik-Programmiersprache R verdankt ihre zunehmende Popularität vor allem den tausenden von Erweiterungspaketen (Packages), die sie zum Schweizer Taschenmesser für Statistik und Data Science machen. In diesem Beitrag gehen wir anhand eines praktischen Beispiels der Frage nach, wie Sie als R-Nutzer mit wenig Aufwand selbst Packages entwickeln und der R-Community zur Verfügung stellen können.

Click here to read the full article.


Zuckarelli, Joachim (2018): Was ist R? Informatik Aktuell, April 24th, 2018 (in German).

Big Data – die zunehmend allgegenwärtige Verfügbarkeit großer und ständig wachsender Mengen an Daten ist als technisches, wirtschaftliches und gesellschaftliches Phänomen seit Jahren in der Diskussion. Das Vorhaben, aus Big Data werthaltige Informationen zu gewinnen, das sich Disziplinen wie "Data Science" oder "Analytics" auf die Fahnen geschrieben haben, erfordert leistungsfähige Statistik-Werkzeuge. Gleiches gilt für die methodisch anspruchsvolle Auswertung vergleichsweise kleiner Datenmengen, etwa im "klassischen" akademischen Bereich.

Ein Statistik-Werkzeug, das in den vergangenen Jahren immer bedeutsamer geworden ist, ist die Programmiersprache R. Anders als etwa Python, das im Bereich Data Science ebenfalls einen hohen Verbreitungsgrad genießt, ist R eine speziell für statistische Anwendungen entwickelte Sprache. Ihre Kernfunktionen liegen in der statistischen Auswertung und der Visualisierung von Daten.

Dieser Artikel bietet einen kurzen, anwendungsorientierten und einführenden Überblick über die Programmiersprache R in ihren beiden Hauptdomänen, der Analyse und der Visualisierung von Daten.

Click here to read the full article.


Zuckarelli, Joachim (2015): A new method for quantification of qualitative expectations. Economics and Business Letters 3(5), Special Issue Energy demand forecasting, 123-128.

For many research purposes it is necessary to quantify qualitative inflation or other expectations from consumer or business surveys. The standard quantification method that is widely referred to in the literature for qualitative inflation expectations is the Carlson-Parkin method, with various extensions. This study proposes a novel quantification method that connects the survey respondents’ inflation experience with forward looking information. The article outlines the new approach and applies it exemplarily to qualitative inflation survey data for the Euro area and the United States.

Click here for full text PDF.

The new Conditional Expectations (CE) method is implemented in the R Package 'quantification'.




Lecture "Fundamentals of Economics" (in German), at Hochschule München, Department of Tourism


R Packages


Here are some packages for R that I have developed recently. They serve different purposes; some implement statistical methods (the quantification package) or facilitate the teaching and understanding of statistical methods (the xplain package), some provide support for data import and export (the flatxml, xml2relational and xmlconvert packages), some help working efficiently with R (the packagefinder and debugr packages), some enhance the R language (the switchcase and pointr packages). Feel free to let me know your thoughts.




debugr is a new package designed to support debugging in R. It mainly provides the dwatch() function which prints a debug output to the console or to a file. A debug output can consist of a static text message, the values of one or more objects (potentially transformed by applying some functions) or the value of one or multiple (more complex) R expressions.

Whether or not a debug message is displayed can be made dependent on the evaluation of a criterion phrased as an R expression. Generally, debug messages are only shown if the debug mode is activated. The debug mode is activated and deactivated with debugr_switchOn() and debugr_switchOff(), respectively, which change the logical value in the global options. Since debug messages are only displayed in debug mode, the dwatch() function calls can even remain in the original code as they remain silent and won't have any effect until the debug mode is switched on again.

There are over 16k R packages on CRAN. How to find the right one for you? The new package packagefinder helps you search for packages on CRAN right from the R console. With packagefinder you can search for multiple keywords in the name, title and description of the CRAN package, either case-sensitive or insensitive and define your own weighting scheme for the search results, if you like. Once you have found a promising package, you can use the simple function go() to go to the package's CRAN webpage or view its PDF manual, directly from the R console without having to installing the package first.

More ressources:

debugr package vignette

debugr on the Comprehensive R Archive Network (CRAN)

debugr on GitHub

More ressources:

packagefinder tutorial

packagefinder on the Comprehensive R Archive Network (CRAN)

packagefinder cheat sheet

packagefinder on GitHub

packagefinder tutorial on YouTube



flatxml provides tools for working with XML documents as R dataframes. On import, the XML information is converted to a dataframe that reflects the hierarchical XML structure. Intuitive functions allow to navigate within this transparent XML data structure (without any knowledge of XPath). flatXML also provides tools to extract data from the XML into a flat dataframe that can be used to perform statistical operations.

xplain allows to provide live interpretations and explanations of statistical functions in R. These interpretations and explanations are shown when the explained function is called by the user. They can interact with the values of the explained function's actual results to offer relevant, meaningful insights. The interpretations and explanations are based on an easy-to-use XML format that allows to include R code to interact with the returns of the explained function.

More ressources:

flatxml on the Comprehensive R Archive Network (CRAN)

flatxml web tutorial

flatxml on GitHub

More ressources:

xplain on the Comprehensive R Archive Network (CRAN)

xplain web tutorial

xplain cheat sheet

xplain on GitHub

xplain example XML file 1

xplain example XML file 2



This package provides different functions for quantifying qualitative survey data. It currently supports the Carlson-Parkin method, the regression approach and the balance approach.

These methods are usually applied in economics to quantify qualitative inflation expectations collected through surveys (e.g. consumer surveys). However, the same approaches can be used to quantify any qualitative expectation about the change of a variable that is actually quantitative in nature. All methods provided by the R package ‘quantification’ can be parametrized in various ways to customize them for individual use.

switchcase provides a switch-case construct for R, as it is known from other programming languages. It allows to test multiple, similar conditions in an efficient, easy-to-read manner, so nested if-else constructs can be avoided. The switch-case construct is designed as an R function that allows to return values depending on which condition is met and lets the programmer flexibly decide whether or not to leave the switch-case construct after a case block has been executed.

More ressources:

quantification on the Comprehensive R Archive Network (CRAN)

More ressources:

switchcase on the Comprehensive R Archive Network (CRAN)

switchcase on GitHub

switchcase tutorial on YouTube



xml2relational is designed to convert XML documents with nested object hierarchies into a set of R dataframes. These dataframes represent the different tables in a relational data model and are connected amongst each other by foreign keys. Essentially, xml2relational flattens an object-oriented data structure into a relational data structure.

Once the relational structure is created (and that is basically a list of dataframes representing the different tables) you can export both the data model (as SQL CREATE statements) and the data (either as SQL INSERT statements or as CSV files) to get the data easily into a relational database.

R has no built-in pointer functionality. The pointr package fills this gap and lets you create pointers to R objects, including subsets of dataframes. This makes your R code more readable and maintainable.

More ressources:

xml2relational on the Comprehensive R Archive Network (CRAN)

xml2relational on GitHub

More ressources:

pointr on the Comprehensive R Archive Network (CRAN)

pointr on GitHub


The xmlconvert package provides the xml_to_df() and df_to_xml() functions to convert XML data to R dataframes and dataframes to XML documents. A wide variety of options allows for different XML formats and flexible control of the conversion process. Results can be exported to CSV and Excel, if desired.

More ressources:

xmlconvert on the Comprehensive R Archive Network (CRAN)

xmlconvert on GitHub