chore(repo): Move manuscripts to separate dir

Both the manuscripts for the working paper and the article are now
collected in a separate manuscripts folder.
This commit is contained in:
Marty Oehme 2024-07-15 22:14:03 +02:00
parent b4730f6ea8
commit 9fd4a3c791
Signed by: Marty
GPG key ID: EDBF2ED917B2EF6A
7 changed files with 31 additions and 39 deletions

View file

@ -1,7 +1,7 @@
project: project:
type: default type: default
render: render:
- article.qmd - manuscript/article.qmd
format: format:
elsevier-html: elsevier-html:

View file

@ -1,9 +1,9 @@
project: project:
render: render:
- presentation_summary.md - manuscript/presentation_summary.md
- notes.qmd - manuscript/notes.qmd
- meeting_eoy.qmd - manuscript/meeting_eoy.qmd
- scoping_review.qmd - manuscript/scoping_review.qmd
toc: true toc: true
format: format:

View file

@ -102,7 +102,7 @@ with a focus on the narrowing criteria specified in @tbl-inclusion-criteria.
::: {#tbl-inclusion-criteria} ::: {#tbl-inclusion-criteria}
```{python} ```{python}
inclusion_criteria = pd.read_csv("data/supplementary/inclusion-criteria.tsv", sep="\t") inclusion_criteria = pd.read_csv(f"{g.SUPPLEMENTARY_DATA}/inclusion-criteria.tsv", sep="\t")
Markdown(tabulate(inclusion_criteria, showindex=False, headers="keys", tablefmt="grid")) Markdown(tabulate(inclusion_criteria, showindex=False, headers="keys", tablefmt="grid"))
``` ```
@ -152,7 +152,7 @@ ultimately resulting in the process represented in the PRISMA chart in @fig-pris
```{mermaid} ```{mermaid}
%%| label: fig-prisma %%| label: fig-prisma
%%| fig-cap: PRISMA flowchart for scoping process %%| fig-cap: PRISMA flowchart for scoping process
%%| file: data/processed/prisma.mmd %%| file: ../data/processed/prisma.mmd
``` ```
All relevant data concerning both their major findings and statistical significance are then extracted from the individual studies into a collective results matrix. All relevant data concerning both their major findings and statistical significance are then extracted from the individual studies into a collective results matrix.
@ -225,7 +225,7 @@ def strength_for(val):
] ]
findings_institutional = pd.read_csv("data/supplementary/findings-institutional.csv") findings_institutional = pd.read_csv(f"{g.SUPPLEMENTARY_DATA}/findings-institutional.csv")
outp = Markdown( outp = Markdown(
tabulate( tabulate(
@ -695,7 +695,7 @@ Another reason could be the actual implementation of different policy programmes
::: {#appatbl-wow-terms} ::: {#appatbl-wow-terms}
```{python} ```{python}
terms_wow = pd.read_csv("data/supplementary/terms_wow.csv") terms_wow = pd.read_csv(f"{g.SUPPLEMENTARY_DATA}/terms_wow.csv")
Markdown(tabulate(terms_wow.fillna(""), showindex=False, headers="keys", tablefmt="grid")) Markdown(tabulate(terms_wow.fillna(""), showindex=False, headers="keys", tablefmt="grid"))
``` ```
@ -706,7 +706,7 @@ World of work term cluster
::: {#appatbl-intervention-terms} ::: {#appatbl-intervention-terms}
```{python} ```{python}
terms_policy = pd.read_csv("data/supplementary/terms_policy.csv") terms_policy = pd.read_csv(f"{g.SUPPLEMENTARY_DATA}/terms_policy.csv")
# different headers to include 'social norms' # different headers to include 'social norms'
headers = ["General", "Institutional", "Structural", "Agency & social norms"] headers = ["General", "Institutional", "Structural", "Agency & social norms"]
Markdown(tabulate(terms_policy.fillna(""), showindex=False, headers=headers, tablefmt="grid")) Markdown(tabulate(terms_policy.fillna(""), showindex=False, headers=headers, tablefmt="grid"))
@ -719,7 +719,7 @@ Policy intervention term cluster
::: {#appatbl-inequality-terms} ::: {#appatbl-inequality-terms}
```{python} ```{python}
terms_inequality = pd.read_csv("data/supplementary/terms_inequality.csv") terms_inequality = pd.read_csv(f"{g.SUPPLEMENTARY_DATA}/terms_inequality.csv")
Markdown(tabulate(terms_inequality.fillna(""), showindex=False, headers="keys", tablefmt="grid")) Markdown(tabulate(terms_inequality.fillna(""), showindex=False, headers="keys", tablefmt="grid"))
``` ```

View file

@ -1,5 +1,5 @@
--- ---
bibliography: data/intermediate/zotero-library.bib bibliography: ../data/intermediate/zotero-library.bib
csl: /home/marty/documents/library/utilities/styles/APA-7.csl csl: /home/marty/documents/library/utilities/styles/APA-7.csl
papersize: A4 papersize: A4
linestretch: 1.5 linestretch: 1.5
@ -30,26 +30,22 @@ import bibtexparser
sns.set_style("whitegrid") sns.set_style("whitegrid")
DATA_DIR=Path("./data") from src import globals as g
RAW_DATA=DATA_DIR.joinpath("raw")
WORKING_DATA=DATA_DIR.joinpath("intermediate")
PROCESSED_DATA=DATA_DIR.joinpath("processed")
SUPPLEMENTARY_DATA=DATA_DIR.joinpath("supplementary")
bib_string="" bib_string=""
for partial_bib in RAW_DATA.glob("**/*.bib"): for partial_bib in g.RAW_DATA.glob("**/*.bib"):
with open(partial_bib) as f: with open(partial_bib) as f:
bib_string+="\n".join(f.readlines()) bib_string+="\n".join(f.readlines())
bib_sample_raw_db = bibtexparser.parse_string(bib_string) bib_sample_raw_db = bibtexparser.parse_string(bib_string)
bib_string="" bib_string=""
for partial_bib in WORKING_DATA.glob("**/*.bib"): for partial_bib in g.WORKING_DATA.glob("**/*.bib"):
with open(partial_bib) as f: with open(partial_bib) as f:
bib_string+="\n".join(f.readlines()) bib_string+="\n".join(f.readlines())
bib_sample = bibtexparser.parse_string(bib_string) bib_sample = bibtexparser.parse_string(bib_string)
# load relevant studies # load relevant studies
from src import load_data from src.extract import load_data
# load zotero-based metadata: citations and uses # load zotero-based metadata: citations and uses
zot_df = pd.DataFrame([ zot_df = pd.DataFrame([
@ -63,10 +59,10 @@ zot_df = pd.DataFrame([
], columns = ["doi", "cited", "usage", "keywords"]).drop_duplicates("doi").set_index("doi") ], columns = ["doi", "cited", "usage", "keywords"]).drop_duplicates("doi").set_index("doi")
# Add WB country grouping definitions (income group, world region) # Add WB country grouping definitions (income group, world region)
WB_COUNTRY_GROUPS_FILE = Path(f"{SUPPLEMENTARY_DATA}/wb-country-groupings.xlsx").resolve() WB_COUNTRY_GROUPS_FILE = Path(f"{g.SUPPLEMENTARY_DATA}/wb-country-groupings.xlsx").resolve()
df_country_groups = pd.read_excel(WB_COUNTRY_GROUPS_FILE).set_index("Economy") df_country_groups = pd.read_excel(WB_COUNTRY_GROUPS_FILE).set_index("Economy")
bib_df = (load_data.from_yml(f"{PROCESSED_DATA}/relevant") bib_df = (load_data.from_yml(f"{g.PROCESSED_DATA}/relevant")
.assign( .assign(
doi=lambda _df: _df["uri"].str.extract(r"https?://(?:dx\.)?doi\.org/(.*)", expand=False), doi=lambda _df: _df["uri"].str.extract(r"https?://(?:dx\.)?doi\.org/(.*)", expand=False),
zot_cited=lambda _df: _df["doi"].map(zot_df["cited"]), zot_cited=lambda _df: _df["doi"].map(zot_df["cited"]),

View file

@ -1,5 +1,5 @@
--- ---
bibliography: data/intermediate/zotero-library.bib bibliography: ../data/intermediate/zotero-library.bib
csl: /home/marty/documents/library/utilities/styles/APA-7.csl csl: /home/marty/documents/library/utilities/styles/APA-7.csl
papersize: A4 papersize: A4
linestretch: 1.5 linestretch: 1.5
@ -21,12 +21,7 @@ subtitle: Conceptual Definitions and Key Terms
```{python} ```{python}
#| echo: false #| echo: false
from pathlib import Path from src import globals as g
DATA_DIR=Path("./data")
RAW_DATA=DATA_DIR.joinpath("raw")
WORKING_DATA=DATA_DIR.joinpath("intermediate")
PROCESSED_DATA=DATA_DIR.joinpath("processed")
SUPPLEMENTARY_DATA=DATA_DIR.joinpath("supplementary")
## standard imports ## standard imports
from IPython.core.display import Markdown as md from IPython.core.display import Markdown as md
@ -396,7 +391,7 @@ Policy *areas*, identified by @ILO2022b:
#| label: tbl-inclusion-criteria #| label: tbl-inclusion-criteria
#| tbl-cap: Study inclusion and exclusion scoping criteria {#tbl-inclusion-criteria} #| tbl-cap: Study inclusion and exclusion scoping criteria {#tbl-inclusion-criteria}
inclusion_criteria = pd.read_csv("data/supplementary/inclusion-criteria.tsv", sep="\t") inclusion_criteria = pd.read_csv(f"{g.SUPPLEMENTARY_DATA}/inclusion-criteria.tsv", sep="\t")
md(tabulate(inclusion_criteria, showindex=False, headers="keys", tablefmt="grid")) md(tabulate(inclusion_criteria, showindex=False, headers="keys", tablefmt="grid"))
``` ```
@ -861,7 +856,7 @@ from @Pinto2021:
```{python} ```{python}
#| echo: false #| echo: false
#| output: asis #| output: asis
with open(f"{SUPPLEMENTARY_DATA}/query.txt") as f: with open(f"{g.SUPPLEMENTARY_DATA}/query.txt") as f:
query = f.read() query = f.read()
t3 = "`" * 3 t3 = "`" * 3

View file

@ -26,6 +26,7 @@ crossref:
#| echo: false #| echo: false
#| output: false #| output: false
import src.globals as g import src.globals as g
import re
from IPython.display import display, Markdown, HTML from IPython.display import display, Markdown, HTML
import numpy as np import numpy as np
import pandas as pd import pandas as pd
@ -303,7 +304,7 @@ with the search query requiring a term from the general column and one other col
```{python} ```{python}
#| label: tbl-wow-terms #| label: tbl-wow-terms
#| tbl-cap: World of work term cluster #| tbl-cap: World of work term cluster
terms_wow = pd.read_csv("data/supplementary/terms_wow.csv") terms_wow = pd.read_csv(f"{g.SUPPLEMENTARY_DATA}/terms_wow.csv")
Markdown(tabulate(terms_wow.fillna(""), showindex=False, headers="keys", tablefmt="grid")) Markdown(tabulate(terms_wow.fillna(""), showindex=False, headers="keys", tablefmt="grid"))
``` ```
@ -319,7 +320,7 @@ For the database query, a single term from the general category is required to b
```{python} ```{python}
#| label: tbl-intervention-terms #| label: tbl-intervention-terms
#| tbl-cap: Policy intervention term cluster #| tbl-cap: Policy intervention term cluster
terms_policy = pd.read_csv("data/supplementary/terms_policy.csv") terms_policy = pd.read_csv(f"{g.SUPPLEMENTARY_DATA}/terms_policy.csv")
# different headers to include 'social norms' # different headers to include 'social norms'
headers = ["General", "Institutional", "Structural", "Agency & social norms"] headers = ["General", "Institutional", "Structural", "Agency & social norms"]
Markdown(tabulate(terms_policy.fillna(""), showindex=False, headers=headers, tablefmt="grid")) Markdown(tabulate(terms_policy.fillna(""), showindex=False, headers=headers, tablefmt="grid"))
@ -331,7 +332,7 @@ as seen in @tbl-inequality-terms.
```{python} ```{python}
#| label: tbl-inequality-terms #| label: tbl-inequality-terms
#| tbl-cap: Inequality term cluster #| tbl-cap: Inequality term cluster
terms_inequality = pd.read_csv("data/supplementary/terms_inequality.csv") terms_inequality = pd.read_csv(f"{g.SUPPLEMENTARY_DATA}/terms_inequality.csv")
Markdown(tabulate(terms_inequality.fillna(""), showindex=False, headers="keys", tablefmt="grid")) Markdown(tabulate(terms_inequality.fillna(""), showindex=False, headers="keys", tablefmt="grid"))
``` ```
@ -355,7 +356,7 @@ with a focus on the narrowing criteria specified in @tbl-inclusion-criteria.
```{python} ```{python}
#| label: inclusion-criteria #| label: inclusion-criteria
inclusion_criteria = pd.read_csv("data/supplementary/inclusion-criteria.tsv", sep="\t") inclusion_criteria = pd.read_csv(f"{g.SUPPLEMENTARY_DATA}/inclusion-criteria.tsv", sep="\t")
Markdown(tabulate(inclusion_criteria, showindex=False, headers="keys", tablefmt="grid")) Markdown(tabulate(inclusion_criteria, showindex=False, headers="keys", tablefmt="grid"))
``` ```
@ -382,7 +383,7 @@ The resulting process can be seen in @fig-prisma.
```{mermaid} ```{mermaid}
%%| label: fig-prisma %%| label: fig-prisma
%%| fig-cap: PRISMA flowchart for scoping process %%| fig-cap: PRISMA flowchart for scoping process
%%| file: data/processed/prisma.mmd %%| file: ../data/processed/prisma.mmd
``` ```
All relevant data concerning both their major findings and statistical significance are then extracted from the individual studies into a collective results matrix. All relevant data concerning both their major findings and statistical significance are then extracted from the individual studies into a collective results matrix.
@ -559,7 +560,7 @@ study_strength_bins = {
def strength_for(val): def strength_for(val):
return list(study_strength_bins.keys())[list(study_strength_bins.values()).index(val)] return list(study_strength_bins.keys())[list(study_strength_bins.values()).index(val)]
findings_institutional = pd.read_csv("data/supplementary/findings-institutional.csv") findings_institutional = pd.read_csv(f"{g.SUPPLEMENTARY_DATA}/findings-institutional.csv")
fd_df = validity.add_to_findings(findings_institutional, by_intervention, study_strength_bins) fd_df = validity.add_to_findings(findings_institutional, by_intervention, study_strength_bins)
Markdown(tabulate(fd_df[["area of policy", "internal_validity", "external_validity", "findings", "channels"]].fillna(""), showindex=False, headers=["area of policy", "internal strength", "external strength", "main findings", "channels"], tablefmt="grid")) Markdown(tabulate(fd_df[["area of policy", "internal_validity", "external_validity", "findings", "channels"]].fillna(""), showindex=False, headers=["area of policy", "internal strength", "external strength", "main findings", "channels"], tablefmt="grid"))
@ -791,7 +792,7 @@ One limitation of the study is the modelling assumption that workers will have t
#| label: tbl-findings-structural #| label: tbl-findings-structural
from src.model import validity from src.model import validity
findings_structural = pd.read_csv("data/supplementary/findings-structural.csv") findings_structural = pd.read_csv(f"{g.SUPPLEMENTARY_DATA}/findings-structural.csv")
fd_df = validity.add_to_findings(findings_structural, by_intervention, study_strength_bins) fd_df = validity.add_to_findings(findings_structural, by_intervention, study_strength_bins)
Markdown(tabulate(fd_df[["area of policy", "internal_validity", "external_validity", "findings", "channels"]].fillna(""), showindex=False, headers=["area of policy", "internal strength", "external strength", "main findings", "channels"], tablefmt="grid")) Markdown(tabulate(fd_df[["area of policy", "internal_validity", "external_validity", "findings", "channels"]].fillna(""), showindex=False, headers=["area of policy", "internal strength", "external strength", "main findings", "channels"], tablefmt="grid"))
@ -1028,7 +1029,7 @@ Though the intervention clearly aims at strengthening some aspect of individual
#| label: tbl-findings-agency #| label: tbl-findings-agency
from src.model import validity from src.model import validity
findings_agency = pd.read_csv("data/supplementary/findings-agency.csv") findings_agency = pd.read_csv(f"{g.SUPPLEMENTARY_DATA}/findings-agency.csv")
fd_df = validity.add_to_findings(findings_agency, by_intervention, study_strength_bins) fd_df = validity.add_to_findings(findings_agency, by_intervention, study_strength_bins)
Markdown(tabulate(fd_df[["area of policy", "internal_validity", "external_validity", "findings", "channels"]].fillna(""), showindex=False, headers=["area of policy", "internal strength", "external strength", "main findings", "channels"], tablefmt="grid")) Markdown(tabulate(fd_df[["area of policy", "internal_validity", "external_validity", "findings", "channels"]].fillna(""), showindex=False, headers=["area of policy", "internal strength", "external strength", "main findings", "channels"], tablefmt="grid"))