From 1473f25afcd729e85e1b3d1683e95c6d51c00ad6 Mon Sep 17 00:00:00 2001
From: "Lukas C. Bossert" <git@texografie.de>
Date: Sun, 17 Sep 2023 00:12:20 +0200
Subject: [PATCH] add org-mode-way of aggregating
just because I played around with the respective package.
---
nfdi-in-emacs-with-orgmode.html | 357 +++++++++++++++++++++++---------
nfdi-in-emacs-with-orgmode.org | 92 +++++---
nfdi-in-emacs-with-orgmode.pdf | Bin 1871890 -> 1874960 bytes
nfdi-in-emacs-with-orgmode.tex | 78 +++++--
nfdi-in-emacs-with-orgmode.txt | 98 ++++++---
5 files changed, 456 insertions(+), 169 deletions(-)
diff --git a/nfdi-in-emacs-with-orgmode.html b/nfdi-in-emacs-with-orgmode.html
index 4fadc37..bf3207d 100644
--- a/nfdi-in-emacs-with-orgmode.html
+++ b/nfdi-in-emacs-with-orgmode.html
@@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
-<!-- 2023-09-15 Fri 14:30 -->
+<!-- 2023-09-17 Sun 00:06 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Data Processing, Code Documentation and Beyond @@latex:\\@@ @@html:<br>@@ (Emacs and org-mode)</title>
@@ -24,33 +24,33 @@
<h2>Table of Contents</h2>
<div id="text-table-of-contents" role="doc-toc">
<ul>
-<li><a href="#org9ef2115">1. Overview</a></li>
-<li><a href="#org05e9f20">2. Introduce</a></li>
-<li><a href="#org2d891c8">3. Prepare</a>
+<li><a href="#orge8fbcab">1. Overview</a></li>
+<li><a href="#orgd7eeaf8">2. Introduce</a></li>
+<li><a href="#org6d162bd">3. Prepare</a>
<ul>
-<li><a href="#org6e9d324">3.1. Data retrieval using SPARQL</a></li>
-<li><a href="#orga2cbc91">3.2. Data cleaning using shell</a></li>
+<li><a href="#org3e7a80a">3.1. Data retrieval using SPARQL</a></li>
+<li><a href="#org23a687d">3.2. Data cleaning using shell</a></li>
</ul>
</li>
-<li><a href="#org713a609">4. Process</a>
+<li><a href="#org4b6e209">4. Process</a>
<ul>
-<li><a href="#org4016d49">4.1. Data Aggregation with Python</a></li>
-<li><a href="#org1303490">4.2. Counting Elements with awk</a></li>
-<li><a href="#org2751f39">4.3. Network Disply with R</a></li>
+<li><a href="#orge3daa90">4.1. Data Aggregation with Python</a></li>
+<li><a href="#org40afcd3">4.2. Counting Elements with awk</a></li>
+<li><a href="#org56ee722">4.3. Network Disply with R</a></li>
</ul>
</li>
-<li><a href="#org9a8308f">5. Preserve</a>
+<li><a href="#orge20e0aa">5. Preserve</a>
<ul>
-<li><a href="#org0cb4e4a">5.1. Manual export</a></li>
-<li><a href="#org2b4872a">5.2. Automatic batch process</a></li>
+<li><a href="#org89ae948">5.1. Manual export</a></li>
+<li><a href="#orgccb6683">5.2. Automatic batch process</a></li>
</ul>
</li>
</ul>
</div>
</div>
-<div id="outline-container-org9ef2115" class="outline-2">
-<h2 id="org9ef2115"><span class="section-number-2">1.</span> Overview</h2>
+<div id="outline-container-orge8fbcab" class="outline-2">
+<h2 id="orge8fbcab"><span class="section-number-2">1.</span> Overview</h2>
<div class="outline-text-2" id="text-1">
<p>
This document provides insights into an efficient way handling data.
@@ -63,11 +63,11 @@ way of processing and documenting data workflow and analyses.
<p>
The paper is divided into three main steps, focussing on first preparing, second
-processing and last presevering the data and its documentation (fig. <a href="#org2da95dd">1</a>).
+processing and last presevering the data and its documentation (fig. <a href="#org2abe7ec">1</a>).
</p>
-<div id="org2da95dd" class="figure">
+<div id="org2abe7ec" class="figure">
<p><img src="img/nfdi-in-emacs-best-practice-overview.png" alt="nfdi-in-emacs-best-practice-overview.png" width="100%" />
</p>
<p><span class="figure-number">Figure 1: </span>Workflow of the document. Source <a href="https://excalidraw.com/#room=8617c3374a9c2c2c895b,a_SoKClI-tyAxWfSgzThWQ">Excalidraw</a>.</p>
@@ -76,8 +76,8 @@ processing and last presevering the data and its documentation (fig. <a href="#o
</div>
-<div id="outline-container-org05e9f20" class="outline-2">
-<h2 id="org05e9f20"><span class="section-number-2">2.</span> Introduce</h2>
+<div id="outline-container-orgd7eeaf8" class="outline-2">
+<h2 id="orgd7eeaf8"><span class="section-number-2">2.</span> Introduce</h2>
<div class="outline-text-2" id="text-2">
<p>
What is Emacs and <b>org-mode</b>? Well, where to start? You may not have heard of
@@ -140,8 +140,8 @@ since this combines a well documented way of analysing a data set.
</div>
-<div id="outline-container-org2d891c8" class="outline-2">
-<h2 id="org2d891c8"><span class="section-number-2">3.</span> Prepare</h2>
+<div id="outline-container-org6d162bd" class="outline-2">
+<h2 id="org6d162bd"><span class="section-number-2">3.</span> Prepare</h2>
<div class="outline-text-2" id="text-3">
<p>
For our demonstration, we are going to create a dataset from openly available
@@ -151,8 +151,8 @@ some simple analysis tasks on it.
</div>
-<div id="outline-container-org6e9d324" class="outline-3">
-<h3 id="org6e9d324"><span class="section-number-3">3.1.</span> Data retrieval using SPARQL</h3>
+<div id="outline-container-org3e7a80a" class="outline-3">
+<h3 id="org3e7a80a"><span class="section-number-3">3.1.</span> Data retrieval using SPARQL</h3>
<div class="outline-text-3" id="text-3-1">
<p>
The data we are interested in exists on Wikidata. Wikidata is similar to
@@ -183,7 +183,7 @@ If you like how to do this in more detail, have a look at (<a href="#citeproc_bi
</p>
<div class="org-src-container">
-<label class="org-src-name"><span class="listing-number">Listing 1: </span>Retrieving the dataset from wikidata</label><pre class="src src-sparql" id="orgae45131"><span class="linenr">1: </span><span class="org-keyword">SELECT</span> <span class="org-variable-name">?wLabel</span> <span class="org-variable-name">?pLabel</span>
+<label class="org-src-name"><span class="listing-number">Listing 1: </span>Retrieving the dataset from wikidata</label><pre class="src src-sparql" id="org20d5b71"><span class="linenr">1: </span><span class="org-keyword">SELECT</span> <span class="org-variable-name">?wLabel</span> <span class="org-variable-name">?pLabel</span>
<span class="linenr">2: </span><span class="org-keyword">WHERE</span>
<span class="linenr">3: </span>{
<span id="coderef-consortium" class="coderef-off"><span class="linenr">4: </span> <span class="org-variable-name">?p</span> wdt:P31 wd:Q98270496 . (consortium)</span>
@@ -195,7 +195,7 @@ If you like how to do this in more detail, have a look at (<a href="#citeproc_bi
</pre>
</div>
-<table id="org84a4629" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+<table id="org5079e0a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<caption class="t-above"><span class="table-number">Table 1:</span> Result of the query for NFDI consortia and their institutions.</caption>
<colgroup>
@@ -467,11 +467,11 @@ If you like how to do this in more detail, have a look at (<a href="#citeproc_bi
-<div id="outline-container-orga2cbc91" class="outline-3">
-<h3 id="orga2cbc91"><span class="section-number-3">3.2.</span> Data cleaning using shell</h3>
+<div id="outline-container-org23a687d" class="outline-3">
+<h3 id="org23a687d"><span class="section-number-3">3.2.</span> Data cleaning using shell</h3>
<div class="outline-text-3" id="text-3-2">
<p>
-The data we got from listing <a href="#orgae45131">1</a> is good but it needs further cleaning.
+The data we got from listing <a href="#org20d5b71">1</a> is good but it needs further cleaning.
</p>
<p>
@@ -486,11 +486,11 @@ SPARQL query, as an input variable to this cell (<code>:var input=raw-dataset</c
</p>
<div class="org-src-container">
-<label class="org-src-name"><span class="listing-number">Listing 2: </span>Cleaning the raw data using good old <code>sed</code> and a regex pattern.</label><pre class="src src-sh" id="org866cd5d"><span class="org-type"><span class="org-tree-sitter-hl-faceXfunctionXcall"><span class="org-tree-sitter-hl-faceXfunctionXbuiltin">echo</span></span></span> <span class="org-tree-sitter-hl-faceXstring">"</span><span class="org-tree-sitter-hl-faceXstring"><span class="org-tree-sitter-hl-faceXpunctuationXspecial"><span class="org-constant">$</span></span></span><span class="org-tree-sitter-hl-faceXstring"><span class="org-tree-sitter-hl-faceXproperty"><span class="org-variable-name">input</span></span></span><span class="org-tree-sitter-hl-faceXstring">"</span> <span class="org-tree-sitter-hl-faceXoperator">|</span> <span class="org-tree-sitter-hl-faceXfunctionXcall">sed</span> <span class="org-tree-sitter-hl-faceXconstant">-E</span> <span class="org-tree-sitter-hl-faceXstring">'/Q[0-9]+/d'</span>
+<label class="org-src-name"><span class="listing-number">Listing 2: </span>Cleaning the raw data using good old <code>sed</code> and a regex pattern.</label><pre class="src src-sh" id="org6353068"><span class="org-type"><span class="org-tree-sitter-hl-faceXfunctionXcall"><span class="org-tree-sitter-hl-faceXfunctionXbuiltin">echo</span></span></span> <span class="org-tree-sitter-hl-faceXstring">"</span><span class="org-tree-sitter-hl-faceXstring"><span class="org-tree-sitter-hl-faceXpunctuationXspecial"><span class="org-constant">$</span></span></span><span class="org-tree-sitter-hl-faceXstring"><span class="org-tree-sitter-hl-faceXproperty"><span class="org-variable-name">input</span></span></span><span class="org-tree-sitter-hl-faceXstring">"</span> <span class="org-tree-sitter-hl-faceXoperator">|</span> <span class="org-tree-sitter-hl-faceXfunctionXcall">sed</span> <span class="org-tree-sitter-hl-faceXconstant">-E</span> <span class="org-tree-sitter-hl-faceXstring">'/Q[0-9]+/d'</span>
</pre>
</div>
-<table id="org78b1ff9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+<table id="org0251484" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<caption class="t-above"><span class="table-number">Table 2:</span> Cleaned data set which will be used for ruther processing.</caption>
<colgroup>
@@ -735,19 +735,19 @@ SPARQL query, as an input variable to this cell (<code>:var input=raw-dataset</c
</div>
</div>
-<div id="outline-container-org713a609" class="outline-2">
-<h2 id="org713a609"><span class="section-number-2">4.</span> Process</h2>
+<div id="outline-container-org4b6e209" class="outline-2">
+<h2 id="org4b6e209"><span class="section-number-2">4.</span> Process</h2>
<div class="outline-text-2" id="text-4">
</div>
-<div id="outline-container-org4016d49" class="outline-3">
-<h3 id="org4016d49"><span class="section-number-3">4.1.</span> Data Aggregation with Python</h3>
+<div id="outline-container-orge3daa90" class="outline-3">
+<h3 id="orge3daa90"><span class="section-number-3">4.1.</span> Data Aggregation with Python</h3>
<div class="outline-text-3" id="text-4-1">
<p>
The great thing about org mode is that we can seamlessly switch between
-languages! Our original query (listing <a href="#orgae45131">1</a>) was written in SPARQL, which returned
-a kind of table (tab. <a href="#org84a4629">1</a>). We then took that table and ran a shell command on it. Now,
+languages! Our original query (listing <a href="#org20d5b71">1</a>) was written in SPARQL, which returned
+a kind of table (tab. <a href="#org5079e0a">1</a>). We then took that table and ran a shell command on it. Now,
we’re going to take the output of that shell command (cf. tab.
-<a href="#org78b1ff9">2</a>) and run
+<a href="#org0251484">2</a>) and run
some python code on it.
</p>
@@ -758,7 +758,7 @@ some python code on it.
</div>
<div class="org-src-container">
-<label class="org-src-name"><span class="listing-number">Listing 3: </span>Counting the number of consortia involved in one institution.</label><pre class="src src-python" id="org6856d4c"><span class="linenr"> 1: </span><span class="org-tree-sitter-hl-faceXkeyword">import</span> pandas <span class="org-tree-sitter-hl-faceXkeyword">as</span> pd
+<label class="org-src-name"><span class="listing-number">Listing 3: </span>Counting the number of consortia involved in one institution.</label><pre class="src src-python" id="org4c8d7fe"><span class="linenr"> 1: </span><span class="org-tree-sitter-hl-faceXkeyword">import</span> pandas <span class="org-tree-sitter-hl-faceXkeyword">as</span> pd
<span class="linenr"> 2: </span>
<span class="linenr"> 3: </span><span class="org-tree-sitter-hl-faceXcomment"># The data comes into the cell as a list of lists.</span>
<span class="linenr"> 4: </span><span class="org-tree-sitter-hl-faceXcomment"># We can pick it apart into a DataFrame object</span>
@@ -770,16 +770,17 @@ some python code on it.
<span class="linenr">10: </span> df
<span class="linenr">11: </span> .<span class="org-tree-sitter-hl-faceXproperty"><span class="org-tree-sitter-hl-faceXmethodXcall">groupby</span></span>(<span class="org-tree-sitter-hl-faceXstring">"wLabel"</span>)
<span class="linenr">12: </span> .<span class="org-tree-sitter-hl-faceXproperty"><span class="org-tree-sitter-hl-faceXmethodXcall">size</span></span>()
-<span class="linenr">13: </span> .<span class="org-tree-sitter-hl-faceXproperty"><span class="org-tree-sitter-hl-faceXmethodXcall">reset_index</span></span>(<span class="org-tree-sitter-hl-faceXlabel">name</span><span class="org-tree-sitter-hl-faceXoperator">=</span><span class="org-tree-sitter-hl-faceXstring">"Count"</span>))
-<span class="linenr">14: </span>
-<span class="linenr">15: </span><span class="org-tree-sitter-hl-faceXcomment"># Return our dataframe in a way that org will</span>
-<span class="linenr">16: </span><span class="org-tree-sitter-hl-faceXcomment"># display it as an org table</span>
-<span class="linenr">17: </span><span class="org-tree-sitter-hl-faceXkeyword">return</span> [<span class="org-tree-sitter-hl-faceXfunctionXcall"><span class="org-tree-sitter-hl-faceXfunctionXbuiltin">list</span></span>(institutions_by_consortia.<span class="org-tree-sitter-hl-faceXproperty">columns</span>),
-<span class="linenr">18: </span> <span class="org-tree-sitter-hl-faceXconstantXbuiltin">None</span>, <span class="org-tree-sitter-hl-faceXoperator">*</span><span class="org-tree-sitter-hl-faceXfunctionXcall"><span class="org-tree-sitter-hl-faceXfunctionXbuiltin">map</span></span>(list, institutions_by_consortia.<span class="org-tree-sitter-hl-faceXproperty">values</span>)]
+<span class="linenr">13: </span> .<span class="org-tree-sitter-hl-faceXproperty"><span class="org-tree-sitter-hl-faceXmethodXcall">sort_values</span></span>(<span class="org-tree-sitter-hl-faceXlabel">ascending</span><span class="org-tree-sitter-hl-faceXoperator">=</span><span class="org-tree-sitter-hl-faceXconstantXbuiltin">False</span>)
+<span class="linenr">14: </span> .<span class="org-tree-sitter-hl-faceXproperty"><span class="org-tree-sitter-hl-faceXmethodXcall">reset_index</span></span>(<span class="org-tree-sitter-hl-faceXlabel">name</span><span class="org-tree-sitter-hl-faceXoperator">=</span><span class="org-tree-sitter-hl-faceXstring">"Count"</span>))
+<span class="linenr">15: </span>
+<span class="linenr">16: </span><span class="org-tree-sitter-hl-faceXcomment"># Return our dataframe in a way that org will</span>
+<span class="linenr">17: </span><span class="org-tree-sitter-hl-faceXcomment"># display it as an org table</span>
+<span class="linenr">18: </span><span class="org-tree-sitter-hl-faceXkeyword">return</span> [<span class="org-tree-sitter-hl-faceXfunctionXcall"><span class="org-tree-sitter-hl-faceXfunctionXbuiltin">list</span></span>(institutions_by_consortia.<span class="org-tree-sitter-hl-faceXproperty">columns</span>),
+<span class="linenr">19: </span> <span class="org-tree-sitter-hl-faceXconstantXbuiltin">None</span>, <span class="org-tree-sitter-hl-faceXoperator">*</span><span class="org-tree-sitter-hl-faceXfunctionXcall"><span class="org-tree-sitter-hl-faceXfunctionXbuiltin">map</span></span>(list, institutions_by_consortia.<span class="org-tree-sitter-hl-faceXproperty">values</span>)]
</pre>
</div>
-<table id="org86a1496" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+<table id="org25d7232" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<caption class="t-above"><span class="table-number">Table 3:</span> Overview of institutions and the count of their associated consortia.</caption>
<colgroup>
@@ -794,21 +795,209 @@ some python code on it.
</tr>
</thead>
<tbody>
+<tr>
+<td class="org-left">Bavarian Academy of Sciences and Humanities</td>
+<td class="org-right">7</td>
+</tr>
+
+<tr>
+<td class="org-left">Bavarian State Archives</td>
+<td class="org-right">4</td>
+</tr>
+
+<tr>
+<td class="org-left">Academy of Sciences and Literature Mainz</td>
+<td class="org-right">4</td>
+</tr>
+
+<tr>
+<td class="org-left">Alfred Wegener Institute for Polar and Marine Research</td>
+<td class="org-right">3</td>
+</tr>
+
+<tr>
+<td class="org-left">Berlin State Library</td>
+<td class="org-right">2</td>
+</tr>
+
+<tr>
+<td class="org-left">Bavarian State Library</td>
+<td class="org-right">2</td>
+</tr>
+
+<tr>
+<td class="org-left">Bavarian Natural History Collections</td>
+<td class="org-right">2</td>
+</tr>
+
+<tr>
+<td class="org-left">BERD@NFDI</td>
+<td class="org-right">1</td>
+</tr>
+
+<tr>
+<td class="org-left">Beilstein Institute for the Advancement of Chemical Sciences</td>
+<td class="org-right">1</td>
+</tr>
+
+<tr>
+<td class="org-left">Beethoven House</td>
+<td class="org-right">1</td>
+</tr>
+
+<tr>
+<td class="org-left">Bavarian State Research Center for Agriculture</td>
+<td class="org-right">1</td>
+</tr>
+
+<tr>
+<td class="org-left">Bavarian State Archaeological Collection</td>
+<td class="org-right">1</td>
+</tr>
+
+<tr>
+<td class="org-left">Bavarian Forest National Park</td>
+<td class="org-right">1</td>
+</tr>
+
+<tr>
+<td class="org-left">Bauhaus-Universität Weimar</td>
+<td class="org-right">1</td>
+</tr>
+
+<tr>
+<td class="org-left">Bach-Archiv Leipzig</td>
+<td class="org-right">1</td>
+</tr>
+
<tr>
<td class="org-left">Academy of Sciences and Humanities in Hamburg</td>
<td class="org-right">1</td>
</tr>
+<tr>
+<td class="org-left">Association of Population Based Cancer Registries in Germany</td>
+<td class="org-right">1</td>
+</tr>
+
+<tr>
+<td class="org-left">Association of German Architects</td>
+<td class="org-right">1</td>
+</tr>
+
+<tr>
+<td class="org-left">Association for Technology and Construction in Agriculture</td>
+<td class="org-right">1</td>
+</tr>
+
+<tr>
+<td class="org-left">Association for Data-Intensive Radio Astronomy</td>
+<td class="org-right">1</td>
+</tr>
+
+<tr>
+<td class="org-left">Arthistoricum</td>
+<td class="org-right">1</td>
+</tr>
+
+<tr>
+<td class="org-left">Archäologisches Museum Hamburg und Stadtmuseum Harburg</td>
+<td class="org-right">1</td>
+</tr>
+
+<tr>
+<td class="org-left">Archäologische Kommission für Niedersachsen</td>
+<td class="org-right">1</td>
+</tr>
+
+<tr>
+<td class="org-left">Archivschule Marburg</td>
+<td class="org-right">1</td>
+</tr>
+
+<tr>
+<td class="org-left">Arbeitskreis Provenienzforschung e.V.</td>
+<td class="org-right">1</td>
+</tr>
+
+<tr>
+<td class="org-left">Arachnologische Gesellschaft</td>
+<td class="org-right">1</td>
+</tr>
+
+<tr>
+<td class="org-left">Anthropological Society (Munich)</td>
+<td class="org-right">1</td>
+</tr>
+
+<tr>
+<td class="org-left">Association of states archaeologists</td>
+<td class="org-right">1</td>
+</tr>
+</tbody>
+</table>
+
+<p>
+There is also a “native way” getting the counting done by using the package
+<code>org-aggregate</code><sup><a id="fnr.2" class="footref" href="#fn.2" role="doc-backlink">2</a></sup>.
+</p>
+
+
+<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+
+
+<colgroup>
+<col class="org-left" />
+
+<col class="org-right" />
+</colgroup>
+<thead>
+<tr>
+<th scope="col" class="org-left">wLabel</th>
+<th scope="col" class="org-right">count()</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="org-left">Bavarian Academy of Sciences and Humanities</td>
+<td class="org-right">7</td>
+</tr>
+
<tr>
<td class="org-left">Academy of Sciences and Literature Mainz</td>
<td class="org-right">4</td>
</tr>
+<tr>
+<td class="org-left">Bavarian State Archives</td>
+<td class="org-right">4</td>
+</tr>
+
<tr>
<td class="org-left">Alfred Wegener Institute for Polar and Marine Research</td>
<td class="org-right">3</td>
</tr>
+<tr>
+<td class="org-left">Bavarian Natural History Collections</td>
+<td class="org-right">2</td>
+</tr>
+
+<tr>
+<td class="org-left">Bavarian State Library</td>
+<td class="org-right">2</td>
+</tr>
+
+<tr>
+<td class="org-left">Berlin State Library</td>
+<td class="org-right">2</td>
+</tr>
+
+<tr>
+<td class="org-left">Academy of Sciences and Humanities in Hamburg</td>
+<td class="org-right">1</td>
+</tr>
+
<tr>
<td class="org-left">Anthropological Society (Munich)</td>
<td class="org-right">1</td>
@@ -884,36 +1073,16 @@ some python code on it.
<td class="org-right">1</td>
</tr>
-<tr>
-<td class="org-left">Bavarian Academy of Sciences and Humanities</td>
-<td class="org-right">7</td>
-</tr>
-
<tr>
<td class="org-left">Bavarian Forest National Park</td>
<td class="org-right">1</td>
</tr>
-<tr>
-<td class="org-left">Bavarian Natural History Collections</td>
-<td class="org-right">2</td>
-</tr>
-
<tr>
<td class="org-left">Bavarian State Archaeological Collection</td>
<td class="org-right">1</td>
</tr>
-<tr>
-<td class="org-left">Bavarian State Archives</td>
-<td class="org-right">4</td>
-</tr>
-
-<tr>
-<td class="org-left">Bavarian State Library</td>
-<td class="org-right">2</td>
-</tr>
-
<tr>
<td class="org-left">Bavarian State Research Center for Agriculture</td>
<td class="org-right">1</td>
@@ -928,25 +1097,21 @@ some python code on it.
<td class="org-left">Beilstein Institute for the Advancement of Chemical Sciences</td>
<td class="org-right">1</td>
</tr>
-
-<tr>
-<td class="org-left">Berlin State Library</td>
-<td class="org-right">2</td>
-</tr>
</tbody>
</table>
</div>
</div>
-<div id="outline-container-org1303490" class="outline-3">
-<h3 id="org1303490"><span class="section-number-3">4.2.</span> Counting Elements with awk</h3>
+
+<div id="outline-container-org40afcd3" class="outline-3">
+<h3 id="org40afcd3"><span class="section-number-3">4.2.</span> Counting Elements with awk</h3>
<div class="outline-text-3" id="text-4-2">
<p>
We’re not limited to python though. Here we’re going to perform a very similar
aggregation, but grouping by consortia to get the number of institutes at each.
-Like the listing <a href="#org6856d4c">3</a> above, we are going to use the output of
-listing <a href="#org866cd5d">2</a> (cf. tab.
-<a href="#org78b1ff9">2</a>) to perform this operation.
+Like the listing <a href="#org4c8d7fe">3</a> above, we are going to use the output of
+listing <a href="#org6353068">2</a> (cf. tab.
+<a href="#org0251484">2</a>) to perform this operation.
Instead of python, we’re going to use <code>awk</code> for our data processing.
</p>
@@ -960,7 +1125,7 @@ results.
<div class="org-src-container">
-<label class="org-src-name"><span class="listing-number">Listing 4: </span>Calculating the number of involved institions in one specific consortium.</label><pre class="src src-awk" id="orgaf32318"><span class="linenr"> 1: </span><span class="org-keyword">BEGIN</span> {
+<label class="org-src-name"><span class="listing-number">Listing 4: </span>Calculating the number of involved institions in one specific consortium.</label><pre class="src src-awk" id="orgb0021f3"><span class="linenr"> 1: </span><span class="org-keyword">BEGIN</span> {
<span class="linenr"> 2: </span><span class="org-comment-delimiter"># </span><span class="org-comment">before the evaluating process of the data begins</span>
<span class="linenr"> 3: </span><span class="org-comment-delimiter"># </span><span class="org-comment">this block is taken in account</span>
<span class="linenr"> 4: </span><span class="org-comment-delimiter"># </span><span class="org-comment">set the separator to tab</span>
@@ -1005,8 +1170,8 @@ NFDI4Earth (3 institutions).
-<div id="outline-container-org2751f39" class="outline-3">
-<h3 id="org2751f39"><span class="section-number-3">4.3.</span> Network Disply with R</h3>
+<div id="outline-container-org56ee722" class="outline-3">
+<h3 id="org56ee722"><span class="section-number-3">4.3.</span> Network Disply with R</h3>
<div class="outline-text-3" id="text-4-3">
<p>
How about something a little more visual than some tables? We can also create
@@ -1018,19 +1183,19 @@ embedding the results in the output.
<p>
And while we’re at it, how about another language? This time we’ll use R to make
a simple network plot of our data. Again, we’re still using the output from
-listiing <a href="#org866cd5d">2</a> (which is tab.
-<a href="#org78b1ff9">2</a>) to do this.
+listiing <a href="#org6353068">2</a> (which is tab.
+<a href="#org0251484">2</a>) to do this.
</p>
<p>
-The result is a nice visualization of a network (fig. <a href="#org2604bc0">2</a>).
+The result is a nice visualization of a network (fig. <a href="#orgbb3a07d">2</a>).
Such a visualization can help to detect outliers faster.
</p>
<div class="org-src-container">
-<label class="org-src-name"><span class="listing-number">Listing 5: </span>Network of all institutions and their related consortia.</label><pre class="src src-R" id="orgfa29fc2"><span class="linenr"> 1: </span><span class="org-comment-delimiter"># </span><span class="org-comment">making sure the required package is installed</span>
+<label class="org-src-name"><span class="listing-number">Listing 5: </span>Network of all institutions and their related consortia.</label><pre class="src src-R" id="org223485e"><span class="linenr"> 1: </span><span class="org-comment-delimiter"># </span><span class="org-comment">making sure the required package is installed</span>
<span class="linenr"> 2: </span><span class="org-ess-keyword">if</span> (!<span class="org-ess-modifiers">require</span>(<span class="org-string">"igraph"</span>)) install.packages(<span class="org-string">"igraph"</span>)
<span class="linenr"> 3: </span><span class="org-ess-modifiers">library</span>(<span class="org-string">"igraph"</span>)
<span class="linenr"> 4: </span><span class="org-comment-delimiter"># </span><span class="org-comment">making a more robust outcome by stating a seed number</span>
@@ -1053,7 +1218,7 @@ Such a visualization can help to detect outliers faster.
</div>
-<div id="org2604bc0" class="figure">
+<div id="orgbb3a07d" class="figure">
<p><img src="img/nfdi-network.png" alt="nfdi-network.png" width="70%" />
</p>
<p><span class="figure-number">Figure 2: </span>Network of NFDI consortia (red) and institutions (blue).</p>
@@ -1064,8 +1229,8 @@ Such a visualization can help to detect outliers faster.
-<div id="outline-container-org9a8308f" class="outline-2">
-<h2 id="org9a8308f"><span class="section-number-2">5.</span> Preserve</h2>
+<div id="outline-container-orge20e0aa" class="outline-2">
+<h2 id="orge20e0aa"><span class="section-number-2">5.</span> Preserve</h2>
<div class="outline-text-2" id="text-5">
<p>
There are two ways exporting this document in multiple documents.
@@ -1076,8 +1241,8 @@ different formats, which are more suitable for different occasions.
</div>
-<div id="outline-container-org0cb4e4a" class="outline-3">
-<h3 id="org0cb4e4a"><span class="section-number-3">5.1.</span> Manual export</h3>
+<div id="outline-container-org89ae948" class="outline-3">
+<h3 id="org89ae948"><span class="section-number-3">5.1.</span> Manual export</h3>
<div class="outline-text-3" id="text-5-1">
<p>
The common approach is to invoke the commands for exporting into a certain
@@ -1089,10 +1254,10 @@ C-e</code> and then select which export format you would like to have.
<p>
-In tab. <a href="#org37edb52">4</a> you find a quick overview of some basic formats.
+In tab. <a href="#org76c8487">4</a> you find a quick overview of some basic formats.
</p>
-<table id="org37edb52" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+<table id="org76c8487" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<caption class="t-above"><span class="table-number">Table 4:</span> Overview of various individual export functions.</caption>
<colgroup>
@@ -1134,16 +1299,16 @@ In tab. <a href="#org37edb52">4</a> you find a quick overview of some basic form
-<div id="outline-container-org2b4872a" class="outline-3">
-<h3 id="org2b4872a"><span class="section-number-3">5.2.</span> Automatic batch process</h3>
+<div id="outline-container-orgccb6683" class="outline-3">
+<h3 id="orgccb6683"><span class="section-number-3">5.2.</span> Automatic batch process</h3>
<div class="outline-text-3" id="text-5-2">
<p>
In a batch process the file is opened with a clean and neutral version of emacs
-and will be exported (see listing <a href="#orgd03def7">6</a>).
+and will be exported (see listing <a href="#orge662ffc">6</a>).
</p>
<div class="org-src-container">
-<label class="org-src-name"><span class="listing-number">Listing 6: </span>Exporting file into various formats</label><pre class="src src-emacs-lisp" id="orgd03def7"><span class="linenr"> 1: </span><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">let</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-rainbow-delimiters-depth-3">(</span>org-file <span class="org-rainbow-delimiters-depth-4">(</span><span class="org-constant">find-file-noselect</span> filename<span class="org-rainbow-delimiters-depth-4">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span>
+<label class="org-src-name"><span class="listing-number">Listing 6: </span>Exporting file into various formats</label><pre class="src src-emacs-lisp" id="orge662ffc"><span class="linenr"> 1: </span><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">let</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-rainbow-delimiters-depth-3">(</span>org-file <span class="org-rainbow-delimiters-depth-4">(</span><span class="org-constant">find-file-noselect</span> filename<span class="org-rainbow-delimiters-depth-4">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="linenr"> 2: </span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">with-current-buffer</span> org-file
<span class="linenr"> 3: </span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-function-name">org-html-export-to-html</span><span class="org-rainbow-delimiters-depth-3">)</span>
<span class="linenr"> 4: </span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">message</span> <span class="org-string">"HTML export successful."</span><span class="org-rainbow-delimiters-depth-3">)</span>
@@ -1177,12 +1342,16 @@ and will be exported (see listing <a href="#orgd03def7">6</a>).
There might be people having a different opinion.
</p></div></div>
+<div class="footdef"><sup><a id="fn.2" class="footnum" href="#fnr.2" role="doc-backlink">2</a></sup> <div class="footpara" role="doc-footnote"><p class="footpara">
+<a href="https://github.com/tbanel/orgaggregate">https://github.com/tbanel/orgaggregate</a>
+</p></div></div>
+
</div>
</div></div>
<div id="postamble" class="status">
<p class="author">Author: Jonathan A. Hartman | Lukas C. Bossert</p>
-<p class="date">Created: 2023-09-15 Fri 14:30</p>
+<p class="date">Created: 2023-09-17 Sun 00:06</p>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/nfdi-in-emacs-with-orgmode.org b/nfdi-in-emacs-with-orgmode.org
index ed8d959..4fa63f6 100644
--- a/nfdi-in-emacs-with-orgmode.org
+++ b/nfdi-in-emacs-with-orgmode.org
@@ -96,7 +96,7 @@ If you like how to do this in more detail, have a look at [cite:@Bossert2023Wiki
#+name: raw-dataset
#+caption: Retrieving the dataset from wikidata
-#+BEGIN_SRC sparql -n -k :url https://query.wikidata.org/sparql :cache yes :exports both
+#+BEGIN_SRC sparql -n -k :url https://query.wikidata.org/sparql :format text/csv :cache yes :exports both
SELECT ?wLabel ?pLabel
WHERE
{
@@ -267,6 +267,7 @@ institutions_by_consortia = (
df
.groupby("wLabel")
.size()
+ .sort_values(ascending=False)
.reset_index(name="Count"))
# Return our dataframe in a way that org will
@@ -281,34 +282,72 @@ return [list(institutions_by_consortia.columns),
#+RESULTS: python-aggregation
| wLabel | Count |
|--------------------------------------------------------------+-------|
-| Academy of Sciences and Humanities in Hamburg | 1 |
-| Academy of Sciences and Literature Mainz | 4 |
-| Alfred Wegener Institute for Polar and Marine Research | 3 |
-| Anthropological Society (Munich) | 1 |
-| Arachnologische Gesellschaft | 1 |
-| Arbeitskreis Provenienzforschung e.V. | 1 |
-| Archivschule Marburg | 1 |
-| Archäologische Kommission für Niedersachsen | 1 |
-| Archäologisches Museum Hamburg und Stadtmuseum Harburg | 1 |
-| Arthistoricum | 1 |
-| Association for Data-Intensive Radio Astronomy | 1 |
-| Association for Technology and Construction in Agriculture | 1 |
-| Association of German Architects | 1 |
-| Association of Population Based Cancer Registries in Germany | 1 |
-| Association of states archaeologists | 1 |
-| BERD@NFDI | 1 |
-| Bach-Archiv Leipzig | 1 |
-| Bauhaus-Universität Weimar | 1 |
| Bavarian Academy of Sciences and Humanities | 7 |
-| Bavarian Forest National Park | 1 |
-| Bavarian Natural History Collections | 2 |
-| Bavarian State Archaeological Collection | 1 |
| Bavarian State Archives | 4 |
+| Academy of Sciences and Literature Mainz | 4 |
+| Alfred Wegener Institute for Polar and Marine Research | 3 |
+| Berlin State Library | 2 |
| Bavarian State Library | 2 |
-| Bavarian State Research Center for Agriculture | 1 |
-| Beethoven House | 1 |
+| Bavarian Natural History Collections | 2 |
+| BERD@NFDI | 1 |
| Beilstein Institute for the Advancement of Chemical Sciences | 1 |
-| Berlin State Library | 2 |
+| Beethoven House | 1 |
+| Bavarian State Research Center for Agriculture | 1 |
+| Bavarian State Archaeological Collection | 1 |
+| Bavarian Forest National Park | 1 |
+| Bauhaus-Universität Weimar | 1 |
+| Bach-Archiv Leipzig | 1 |
+| Academy of Sciences and Humanities in Hamburg | 1 |
+| Association of Population Based Cancer Registries in Germany | 1 |
+| Association of German Architects | 1 |
+| Association for Technology and Construction in Agriculture | 1 |
+| Association for Data-Intensive Radio Astronomy | 1 |
+| Arthistoricum | 1 |
+| Archäologisches Museum Hamburg und Stadtmuseum Harburg | 1 |
+| Archäologische Kommission für Niedersachsen | 1 |
+| Archivschule Marburg | 1 |
+| Arbeitskreis Provenienzforschung e.V. | 1 |
+| Arachnologische Gesellschaft | 1 |
+| Anthropological Society (Munich) | 1 |
+| Association of states archaeologists | 1 |
+
+There is also a "native way" getting the counting done by using the package
+=org-aggregate=[fn:2].
+
+#+ATTR_LaTeX: :environment longtable
+#+BEGIN: aggregate :table "result-clean-dataset" :cols "wLabel count();^A" :exports none
+| wLabel | count() |
+|--------------------------------------------------------------+---------|
+| Bavarian Academy of Sciences and Humanities | 7 |
+| Academy of Sciences and Literature Mainz | 4 |
+| Bavarian State Archives | 4 |
+| Alfred Wegener Institute for Polar and Marine Research | 3 |
+| Bavarian Natural History Collections | 2 |
+| Bavarian State Library | 2 |
+| Berlin State Library | 2 |
+| Academy of Sciences and Humanities in Hamburg | 1 |
+| Anthropological Society (Munich) | 1 |
+| Arachnologische Gesellschaft | 1 |
+| Arbeitskreis Provenienzforschung e.V. | 1 |
+| Archivschule Marburg | 1 |
+| Archäologische Kommission für Niedersachsen | 1 |
+| Archäologisches Museum Hamburg und Stadtmuseum Harburg | 1 |
+| Arthistoricum | 1 |
+| Association for Data-Intensive Radio Astronomy | 1 |
+| Association for Technology and Construction in Agriculture | 1 |
+| Association of German Architects | 1 |
+| Association of Population Based Cancer Registries in Germany | 1 |
+| Association of states archaeologists | 1 |
+| BERD@NFDI | 1 |
+| Bach-Archiv Leipzig | 1 |
+| Bauhaus-Universität Weimar | 1 |
+| Bavarian Forest National Park | 1 |
+| Bavarian State Archaeological Collection | 1 |
+| Bavarian State Research Center for Agriculture | 1 |
+| Beethoven House | 1 |
+| Beilstein Institute for the Advancement of Chemical Sciences | 1 |
+#+END:
+
** Counting Elements with awk
@@ -478,6 +517,7 @@ and will be exported (see listing [[batch-export]]).
#+print_bibliography:
* Footnotes
-# this is section is not printed out.
+
[fn:1] There might be people having a different opinion.
+[fn:2] https://github.com/tbanel/orgaggregate
diff --git a/nfdi-in-emacs-with-orgmode.pdf b/nfdi-in-emacs-with-orgmode.pdf
index f31cab25b0a5c7b8f4950615fc9637e6aa08da46..694249327b5a0cfa64f1c7c42c4358f2e5cc47bd 100644
GIT binary patch
delta 31705
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
C?^fgh
delta 28736
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
YDHl)wIa`K@+rZMmluK3B)!&T^0I<7G`~Uy|
diff --git a/nfdi-in-emacs-with-orgmode.tex b/nfdi-in-emacs-with-orgmode.tex
index edcdadd..c440e10 100644
--- a/nfdi-in-emacs-with-orgmode.tex
+++ b/nfdi-in-emacs-with-orgmode.tex
@@ -1,4 +1,4 @@
-% Created 2023-09-15 Fri 14:30
+% Created 2023-09-17 Sun 00:10
% Intended LaTeX compiler: lualatex
\documentclass[11pt]{article}
\usepackage{graphicx}
@@ -46,7 +46,7 @@
\section{Overview}
-\label{sec:org9446d62}
+\label{sec:orgb1baff2}
This document provides insights into an efficient way handling data.
We show not only how to retrieve data from an publicly accesible webpge but also
how the data can be processed afterwards. We admit that in the examples shown
@@ -65,7 +65,7 @@ processing and last presevering the data and its documentation (fig. \ref{workfl
\section{Introduce}
-\label{sec:org428c6d0}
+\label{sec:org72a1101}
What is Emacs and \textbf{org-mode}? Well, where to start? You may not have heard of
Emacs or org-mode, yet. Usually it is considered to a tool for geeks, \ldots{}.. this
might be kind of true, but once you noticed the myriard ways of using
@@ -110,7 +110,7 @@ since this combines a well documented way of analysing a data set.
\section{Prepare}
-\label{sec:orgc64c42e}
+\label{sec:org2fdb5a0}
For our demonstration, we are going to create a dataset from openly available
data on the German National Research Data Infrastructure (\textbf{NFDI}) and perform
@@ -118,7 +118,7 @@ some simple analysis tasks on it.
\subsection{Data retrieval using SPARQL}
-\label{sec:orgec9d828}
+\label{sec:org1e83c85}
The data we are interested in exists on Wikidata. Wikidata is similar to
Wikipedia, but rather than long form articles, the data is stored as structured
data. This allows machines to easily access and traverse these pages with query
@@ -227,7 +227,7 @@ Berlin State Library & NFDI4Memory\\[0pt]
\subsection{Data cleaning using shell}
-\label{sec:org557f301}
+\label{sec:org3315362}
The data we got from listing \ref{raw-dataset} is good but it needs further cleaning.
We can see several entries in our data that look like ``Q1234567'' - These are Q
@@ -309,10 +309,10 @@ Berlin State Library & NFDI4Memory\\[0pt]
\end{longtable}
\section{Process}
-\label{sec:org0792556}
+\label{sec:org7477678}
\subsection{Data Aggregation with Python}
-\label{sec:orgfc6e1a0}
+\label{sec:org650a249}
The great thing about org mode is that we can seamlessly switch between
languages! Our original query (listing \ref{raw-dataset}) was written in SPARQL, which returned
@@ -340,6 +340,7 @@ institutions_by_consortia = (
df
.groupby("wLabel")
.size()
+ .sort_values(ascending=False)
.reset_index(name="Count"))
# Return our dataframe in a way that org will
@@ -367,9 +368,51 @@ wLabel & Count \\[0pt]
\endfoot
\endlastfoot
\hline
+Bavarian Academy of Sciences and Humanities & 7\\[0pt]
+Bavarian State Archives & 4\\[0pt]
+Academy of Sciences and Literature Mainz & 4\\[0pt]
+Alfred Wegener Institute for Polar and Marine Research & 3\\[0pt]
+Berlin State Library & 2\\[0pt]
+Bavarian State Library & 2\\[0pt]
+Bavarian Natural History Collections & 2\\[0pt]
+BERD@NFDI & 1\\[0pt]
+Beilstein Institute for the Advancement of Chemical Sciences & 1\\[0pt]
+Beethoven House & 1\\[0pt]
+Bavarian State Research Center for Agriculture & 1\\[0pt]
+Bavarian State Archaeological Collection & 1\\[0pt]
+Bavarian Forest National Park & 1\\[0pt]
+Bauhaus-Universität Weimar & 1\\[0pt]
+Bach-Archiv Leipzig & 1\\[0pt]
Academy of Sciences and Humanities in Hamburg & 1\\[0pt]
+Association of Population Based Cancer Registries in Germany & 1\\[0pt]
+Association of German Architects & 1\\[0pt]
+Association for Technology and Construction in Agriculture & 1\\[0pt]
+Association for Data-Intensive Radio Astronomy & 1\\[0pt]
+Arthistoricum & 1\\[0pt]
+Archäologisches Museum Hamburg und Stadtmuseum Harburg & 1\\[0pt]
+Archäologische Kommission für Niedersachsen & 1\\[0pt]
+Archivschule Marburg & 1\\[0pt]
+Arbeitskreis Provenienzforschung e.V. & 1\\[0pt]
+Arachnologische Gesellschaft & 1\\[0pt]
+Anthropological Society (Munich) & 1\\[0pt]
+Association of states archaeologists & 1\\[0pt]
+\end{longtable}
+
+There is also a ``native way'' getting the counting done by using the package
+\texttt{org-aggregate}\footnote{\url{https://github.com/tbanel/orgaggregate}}.
+
+\begin{center}
+\begin{tabular}{lr}
+wLabel & count()\\[0pt]
+\hline
+Bavarian Academy of Sciences and Humanities & 7\\[0pt]
Academy of Sciences and Literature Mainz & 4\\[0pt]
+Bavarian State Archives & 4\\[0pt]
Alfred Wegener Institute for Polar and Marine Research & 3\\[0pt]
+Bavarian Natural History Collections & 2\\[0pt]
+Bavarian State Library & 2\\[0pt]
+Berlin State Library & 2\\[0pt]
+Academy of Sciences and Humanities in Hamburg & 1\\[0pt]
Anthropological Society (Munich) & 1\\[0pt]
Arachnologische Gesellschaft & 1\\[0pt]
Arbeitskreis Provenienzforschung e.V. & 1\\[0pt]
@@ -385,20 +428,17 @@ Association of states archaeologists & 1\\[0pt]
BERD@NFDI & 1\\[0pt]
Bach-Archiv Leipzig & 1\\[0pt]
Bauhaus-Universität Weimar & 1\\[0pt]
-Bavarian Academy of Sciences and Humanities & 7\\[0pt]
Bavarian Forest National Park & 1\\[0pt]
-Bavarian Natural History Collections & 2\\[0pt]
Bavarian State Archaeological Collection & 1\\[0pt]
-Bavarian State Archives & 4\\[0pt]
-Bavarian State Library & 2\\[0pt]
Bavarian State Research Center for Agriculture & 1\\[0pt]
Beethoven House & 1\\[0pt]
Beilstein Institute for the Advancement of Chemical Sciences & 1\\[0pt]
-Berlin State Library & 2\\[0pt]
-\end{longtable}
+\end{tabular}
+\end{center}
+
\subsection{Counting Elements with awk}
-\label{sec:org10f508b}
+\label{sec:orgf0aaa45}
We’re not limited to python though. Here we’re going to perform a very similar
aggregation, but grouping by consortia to get the number of institutes at each.
@@ -457,7 +497,7 @@ NFDI4Earth (3 institutions).
\subsection{Network Disply with R}
-\label{sec:org2a39f3e}
+\label{sec:org5c9cd23}
How about something a little more visual than some tables? We can also create
plots and visuals, generating them with the code contained in the document and
@@ -508,7 +548,7 @@ plot(NFDI_network, # loading data frame
\section{Preserve}
-\label{sec:orge2cb62b}
+\label{sec:org36352f8}
There are two ways exporting this document in multiple documents.
@@ -518,7 +558,7 @@ different formats, which are more suitable for different occasions.
\subsection{Manual export}
-\label{sec:org5536073}
+\label{sec:org56ebae6}
The common approach is to invoke the commands for exporting into a certain
format individually and by hand.
Org-mode has a great build in exporting mechanism which converts the document
@@ -545,7 +585,7 @@ ASCII & \texttt{SPC m e t a} & \texttt{C-c C-e t a}\\[0pt]
\subsection{Automatic batch process}
-\label{sec:org1a9fea8}
+\label{sec:org64e2378}
In a batch process the file is opened with a clean and neutral version of emacs
and will be exported (see listing \ref{batch-export}).
diff --git a/nfdi-in-emacs-with-orgmode.txt b/nfdi-in-emacs-with-orgmode.txt
index d35c5e1..5beb885 100644
--- a/nfdi-in-emacs-with-orgmode.txt
+++ b/nfdi-in-emacs-with-orgmode.txt
@@ -289,49 +289,85 @@ _________________
| 10 df
| 11 .groupby("wLabel")
| 12 .size()
- | 13 .reset_index(name="Count"))
- | 14
- | 15 # Return our dataframe in a way that org will
- | 16 # display it as an org table
- | 17 return [list(institutions_by_consortia.columns),
- | 18 None, *map(list, institutions_by_consortia.values)]
+ | 13 .sort_values(ascending=False)
+ | 14 .reset_index(name="Count"))
+ | 15
+ | 16 # Return our dataframe in a way that org will
+ | 17 # display it as an org table
+ | 18 return [list(institutions_by_consortia.columns),
+ | 19 None, *map(list, institutions_by_consortia.values)]
`----
Listing 3: Counting the number of consortia involved in one
institution.
wLabel Count
---------------------------------------------------------------------
- Academy of Sciences and Humanities in Hamburg 1
- Academy of Sciences and Literature Mainz 4
- Alfred Wegener Institute for Polar and Marine Research 3
- Anthropological Society (Munich) 1
- Arachnologische Gesellschaft 1
- Arbeitskreis Provenienzforschung e.V. 1
- Archivschule Marburg 1
- Archäologische Kommission für Niedersachsen 1
- Archäologisches Museum Hamburg und Stadtmuseum Harburg 1
- Arthistoricum 1
- Association for Data-Intensive Radio Astronomy 1
- Association for Technology and Construction in Agriculture 1
- Association of German Architects 1
- Association of Population Based Cancer Registries in Germany 1
- Association of states archaeologists 1
- BERD@NFDI 1
- Bach-Archiv Leipzig 1
- Bauhaus-Universität Weimar 1
Bavarian Academy of Sciences and Humanities 7
- Bavarian Forest National Park 1
- Bavarian Natural History Collections 2
- Bavarian State Archaeological Collection 1
Bavarian State Archives 4
+ Academy of Sciences and Literature Mainz 4
+ Alfred Wegener Institute for Polar and Marine Research 3
+ Berlin State Library 2
Bavarian State Library 2
- Bavarian State Research Center for Agriculture 1
- Beethoven House 1
+ Bavarian Natural History Collections 2
+ BERD@NFDI 1
Beilstein Institute for the Advancement of Chemical Sciences 1
- Berlin State Library 2
+ Beethoven House 1
+ Bavarian State Research Center for Agriculture 1
+ Bavarian State Archaeological Collection 1
+ Bavarian Forest National Park 1
+ Bauhaus-Universität Weimar 1
+ Bach-Archiv Leipzig 1
+ Academy of Sciences and Humanities in Hamburg 1
+ Association of Population Based Cancer Registries in Germany 1
+ Association of German Architects 1
+ Association for Technology and Construction in Agriculture 1
+ Association for Data-Intensive Radio Astronomy 1
+ Arthistoricum 1
+ Archäologisches Museum Hamburg und Stadtmuseum Harburg 1
+ Archäologische Kommission für Niedersachsen 1
+ Archivschule Marburg 1
+ Arbeitskreis Provenienzforschung e.V. 1
+ Arachnologische Gesellschaft 1
+ Anthropological Society (Munich) 1
+ Association of states archaeologists 1
Table 3: Overview of institutions and the count of their associated
consortia.
+ There is also a "native way" getting the counting done by using the
+ package `org-aggregate'[2].
+
+
+ wLabel count()
+ -----------------------------------------------------------------------
+ Bavarian Academy of Sciences and Humanities 7
+ Academy of Sciences and Literature Mainz 4
+ Bavarian State Archives 4
+ Alfred Wegener Institute for Polar and Marine Research 3
+ Bavarian Natural History Collections 2
+ Bavarian State Library 2
+ Berlin State Library 2
+ Academy of Sciences and Humanities in Hamburg 1
+ Anthropological Society (Munich) 1
+ Arachnologische Gesellschaft 1
+ Arbeitskreis Provenienzforschung e.V. 1
+ Archivschule Marburg 1
+ Archäologische Kommission für Niedersachsen 1
+ Archäologisches Museum Hamburg und Stadtmuseum Harburg 1
+ Arthistoricum 1
+ Association for Data-Intensive Radio Astronomy 1
+ Association for Technology and Construction in Agriculture 1
+ Association of German Architects 1
+ Association of Population Based Cancer Registries in Germany 1
+ Association of states archaeologists 1
+ BERD@NFDI 1
+ Bach-Archiv Leipzig 1
+ Bauhaus-Universität Weimar 1
+ Bavarian Forest National Park 1
+ Bavarian State Archaeological Collection 1
+ Bavarian State Research Center for Agriculture 1
+ Beethoven House 1
+ Beilstein Institute for the Advancement of Chemical Sciences 1
+
4.2 Counting Elements with awk
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -514,3 +550,5 @@ Footnotes
_________
[1] There might be people having a different opinion.
+
+[2] <https://github.com/tbanel/orgaggregate>
--
GitLab