Compare commits

...

5 Commits

14 changed files with 1504 additions and 3 deletions
+5 -2
View File
@@ -3,8 +3,11 @@
## Responsible person
Nora Wickelmaier
Referentin Forschungsmethoden und Forschungsdatenmanagement
Leibniz-Institut für Wissensmedien (IWM)
n.wickelmaier@iwm-tuebingen.de
## Folder structure and naming conventions
@@ -25,7 +28,7 @@ numbered, indicating the order they should be executed in.
The `data` folder contains all folders associated with data and its
documentation.
The `code` folder with contains different codebook options and R scripts that
The `codebook` folder contains different codebook options and R scripts that
create these codebooks. If the codebook is created by an R script, the script
and the codebook are named identically, e.g., `codebook_01.R` and
`codebook_01.xslx`.
@@ -40,7 +43,7 @@ RDM_MS_SS2024_download_<YYYY-MM-DD>.<fileending>
No other files than the downloads from qualtrics should go into this folder!
The `results` folder contains processed data. The scripts in `/code/` process
the data from `/rawdata/` and saves the files containing the processed data to
the data from `/rawdata/` and save the files containing the processed data to
`/results/`. Data can be exported as CSV files or RData files. If different file
formats contain the same data, they should be named identically, e.g.,
`data_rdm-ms-ss2024_cleaned.csv` and `data_rdm-ms-ss2024_cleaned.RData`.
+515
View File
@@ -0,0 +1,515 @@
\documentclass[aspectratio=169]{beamer}
\usepackage{listings}
%\usepackage[utf8]{inputenc}
\usepackage[style = apa, backend = biber, natbib = true]{biblatex}
\addbibresource{../literature/lit.bib}
\usepackage{fancyvrb}
\usepackage{fontawesome5} % get icons
\usepackage{multirow}
\usepackage{color, colortbl}
\usepackage{tikz}
\usetikzlibrary{fit}
\usepackage[edges]{forest}
\lstset{language=R,%
backgroundcolor=\color{iwmgray!15!white},
basicstyle=\ttfamily\color{iwmgray},
frame=none,
commentstyle=\slshape\color{iwmgreen},
keywordstyle=\bfseries\color{iwmgray},
identifierstyle=\color{iwmpurple},
stringstyle=\color{iwmblue},
numbers=none,%left,numberstyle=\tiny,
basewidth={.5em, .4em},
showstringspaces=false,
emphstyle=\color{red!50!white}}
\makeatletter \def\newblock{\beamer@newblock} \makeatother
\beamertemplatenavigationsymbolsempty
\setbeamertemplate{itemize items}[circle]
\setbeamertemplate{section in toc}[circle]
\mode<beamer>{\setbeamercolor{math text displayed}{fg=iwmgray}}
\setbeamercolor{block body}{bg=iwmorange!50!white}
\setbeamercolor{block title}{fg=white, bg=iwmorange}
% Definitions for biblatex
\setbeamercolor{bibliography entry note}{fg=iwmgray}
\setbeamercolor{bibliography entry author}{fg=iwmgray}
\setbeamertemplate{bibliography item}{}
\definecolor{iwmorange}{RGB}{255,105,0}
\definecolor{iwmgray}{RGB}{67,79,79}
\definecolor{iwmblue}{RGB}{60,180,220}
\definecolor{iwmgreen}{RGB}{145,200,110}
\definecolor{iwmpurple}{RGB}{120,0,75}
\setbeamercolor{title}{fg=iwmorange}
\setbeamercolor{frametitle}{fg=iwmorange}
\setbeamercolor{structure}{fg=iwmorange}
\setbeamercolor{normal text}{fg=iwmgray}
\setbeamercolor{author}{fg=iwmgray}
\setbeamercolor{date}{fg=iwmgray}
\newcommand{\vect}[1]{\mathbf{#1}}
\newcommand{\mat}[1]{\mathbf{#1}}
\newcommand{\gvect}[1]{\boldsymbol{#1}}
\newcommand{\gmat}[1]{\boldsymbol{#1}}
\AtBeginSection[]{
\frame{
\tableofcontents[sectionstyle=show/hide, subsectionstyle=show/show/hide]}}
\setbeamertemplate{headline}{
\begin{beamercolorbox}{section in head}
\vskip5pt\insertsectionnavigationhorizontal{\paperwidth}{}{}\vskip2pt
\end{beamercolorbox}
}
\setbeamertemplate{footline}{\vskip-2pt\hfill\insertframenumber$\;$\vskip2pt}
\title{Data sharing}
\author{Nora Wickelmaier}
\date{June 24, 2024}
\begin{document}
\begin{frame}{}
\thispagestyle{empty}
\titlepage
\end{frame}
\begin{frame}{What are the benefits of sharing your data?}
% slido
\centering
\includegraphics[width = 5cm]{../figures/QR Code for Methodenseminar SS 2024 - Session 4}
\url{https://app.sli.do/event/m5FEcBYkqtVAsjkdTsKsmd}
\end{frame}
\begin{frame}[<+->]{Benefits of sharing data}
Sharing data
\begin{itemize}
\item[\dots] ensures that data are not ultimately lost (save data for posterity)
\item[\dots] is consistent with scientific norms of openness and rigor
\item[\dots] increases citation scores of papers
\item[\dots] encourages more research because it enables secondary analyses
\item[\dots] facilitates subsequent reanalyses (correct errors, emphasize
robustness of original results)
\item[\dots] is demanded by most third party funding agencies
\end{itemize}
\vfill
\hfill\tiny \citet{Wicherts2012}
\end{frame}
\begin{frame}{Agenda}
\centering
\begin{tabular}{ll}
\hline
Date & Topic \\
\hline
2024-05-13 & Introduction to data management \\
2024-05-27 & Workflow \\
2024-06-10 & Data organisation\\
\only<1>{2024-06-24}\only<2>{\bf 2024-06-24} & \only<1>{Data sharing}\only<2>{\bf Data sharing} \\
2024-07-08 & Clean coding \\
2024-07-22 & Version control \\
\hline
\end{tabular}
\end{frame}
% uploading under a license (CC-BY....)
% loading data on an archive, repository etc...
% Doing the archive
% mportant things before the open-access data
% Where to store data for long-term accessibility (conventions?)
% Tools, where I should upload my final data
% Upload data before or after publishing a paper? Time mangement
\section{Data organisation}
\begin{frame}[<+->]{What we covered so far}
\begin{itemize}
\item What habits do we need for effective research data management?
\item What is a workflow and why do we need one?
\item What needs to be considered when naming files of a research project?
\item How to organize folders for a research project?
\item What metadata should be added to my research project?
\item What are good ways to document a data set?
\end{itemize}
\end{frame}
\begin{frame}{Examples for documenting data sets}
\begin{enumerate}
\item A recent paper with published data by \citet{Ngo2023} investigating
what cues are considered by Twitter users to identify social bots
\item A multi-cohort, longitudinal study by the Hector Research Institute of
Education Sciences and Psychology at the university of Tübingen:
Transformation of the secondary school system and academic careers
\citep[TOSCA,][]{Koeller2004}
\item Editorial on why to publish your data with an accompanying data set
by \citet{Wicherts2012}
\end{enumerate}
\vfill
\end{frame}
\begin{frame}{\citet{Ngo2023}}
They provide
\begin{itemize}
\item A data set with 221 observations and 633 variables
\item A PDF with all measures and the scenario used for collecting the data
\end{itemize}
\vspace{.3cm}
\begin{block}{Exercise}
\begin{itemize}
\item Go to \url{https://osf.io/6y3nk/} and download the files
\texttt{data.csv} and
\texttt{Experimental-Study-Measures and scenario.pdf}
\item Read the data into R using \texttt{read.csv()}
\item Find out which variables in the data correspond to measure
``(9)~Demographics''
\end{itemize}
\end{block}
\vspace{.3cm}
\pause
(BTW: Sharing the data in this form is better than \emph{not} sharing them,
in my opinion)
\end{frame}
\begin{frame}{What additional information do we need to use these data?}
% slido
\centering
\includegraphics[width = 5cm]{../figures/QR Code for Methodenseminar SS 2024 - Session 4}
\url{https://app.sli.do/event/m5FEcBYkqtVAsjkdTsKsmd}
\end{frame}
\begin{frame}{TOSCA}
\begin{itemize}
\item Multi-cohort study that includes longitudinal data for several cohorts
\item Broad spectrum of achievement test data and psycho-social variables
\item Large number of publications on different topics using these data
\item This is not the original data set, but a prepared version for teaching
statistics (hence, proportions in the data and the codebook are not
identical)
\end{itemize}
\begin{block}{Exercise}
\begin{itemize}
\item Read the data set \texttt{TOSCAtoTeach\_W123.sav} into R using
\texttt{foreign::read.spss()} or \texttt{haven::read\_spss()}
\item Create contingency tables for the variables \texttt{sform} and
\texttt{szweig1} and compare the results to the codebook
\texttt{Skalenhandbuch\_TOSCAtoTeachW123.pdf}
\end{itemize}
\end{block}
\hfill{\tiny \url{https://uni-tuebingen.de/en/faculties/faculty-of-economics-and-social-sciences/subjects/department-of-social-sciences/education-sciences-and-psychology/research/current-studies/tosca}}
\end{frame}
\begin{frame}{\citet{Wicherts2012}}
They provide
\begin{itemize}
\item A data set with 537 observations and 79 variables
(\texttt{1-s2.0-S0160289612000050-mmc2.xls})
\item A codebook with variable names and some descriptive statistics for
the scales (\texttt{1-s2.0-S0160289612000050-mmc1.doc})
\item ``Publish (your data) or (let the data) perish! Why not publish your
data too?''
\item Data come from freshman-testing program called ``Testweek''
\item (Try \texttt{readxl::read\_excel()} to read the data into R)
\end{itemize}
\vfill
\end{frame}
\begin{frame}{What is the single one thing that would make sharing these data
indefinitely better?}
% slido
\centering
\includegraphics[width = 5cm]{../figures/QR Code for Methodenseminar SS 2024 - Session 4}
\url{https://app.sli.do/event/m5FEcBYkqtVAsjkdTsKsmd}
\end{frame}
\begin{frame}[<+->]{Non-anonymous data}
\begin{itemize}
\item Before putting data into any cloud, you should always take a moment to
reflect if your data are anonymous
\item No (third-party) cloud storage, even if it is not publicly accessible
\item If your data contains personal data, it should always be stored
locally, ideally on an encrypted device
\item You should have a plan --- bofore ever collecting the data --- how,
when, and by whom the data will be anonymized
\item All data should eventually be anonymized! (Yes, even audio and video
data)
\item IWM servers can be considered local
\end{itemize}
\end{frame}
\section[Collaborative use]{Sharing data for collaborative use}
\begin{frame}[<+->]{Working together with the same data}
\begin{itemize}
\item Part of data organisation is to think about who needs access to
your data
\item Often these are colleagues from the same lab and there is
infrastructure to share files and scripts easily
\item The IWM offers several solutions for sharing your data (internally and
externally)
\item When the end goal is to make the data public, it might be a good idea
to work together at a place where the data can go public at a certain
point in time
\item We will look at two possiblities: OSF and Github
\end{itemize}
\vfill
\end{frame}
\begin{frame}{IWM solutions}
IWM servers
\begin{itemize}
\item Nextcloud: \url{https://nextcloud.iwm-tuebingen.de/}
\item Gitea: \url{https://gitea.iwm-tuebingen.de/}
\item Shared drive: \texttt{Y:/}
\end{itemize}
\vspace{.4cm}
Microsoft servers
\begin{itemize}
\item OneDrive
\item Teams
\end{itemize}
\vfill
\pause
(Maybe check out the three tips of the week on this topic:
{\tiny
\url{https://iwmonline.sharepoint.com/sites/intranet/SitePages/direktorat/en/Interne-Kommunikation.aspx\#tip-of-the-week-tutorial-series}})
\end{frame}
\begin{frame}{Open Science Framework}
{\url{https://osf.io/}}
\begin{columns}
\begin{column}{.4\textwidth}
\begin{itemize}
\item ``OSF is a free and open source project management tool that supports
researchers throughout their entire project lifecycle.''
\item Founded in 2012 and constantly developed: \url{https://www.cos.io/timeline}
\item Meant to integrate all research steps
\end{itemize}
\end{column}
\begin{column}{.7\textwidth}
\includegraphics[scale = .2]{../figures/osf_workflow.png}
\end{column}
\end{columns}
\end{frame}
\begin{frame}[fragile]{Let's try it out}
\begin{tikzpicture}[
every node/.style = {text width = 5.1cm, align = left},
every path/.style = {thick, draw}
]
\node (ex) at (0, 0) {\faIcon{folder} \verb+toyexample+};
\node (n1) at (5, 0) {\faIcon{folder} \verb+code+};
\node (n2) at (5, -1.4) {\faIcon{folder} \verb+data+};
\node (n3) at (5, -2.8) {\faIcon[regular]{file} \verb+README.md+};
\path (ex.center) -- (n1.west);
\path (ex.center) -- (n2.west);
\path (ex.center) -- (n3.west);
\node (o1a) at (10, 0) {\faIcon[regular]{file} \verb+01_preprocessing.R+};
\node (o1b) at (10, -0.7) {\faIcon[regular]{file} \verb+02_descriptives.R+};
\node (o2) at (10, -1.4) {\faIcon{folder} \verb+processed+};
\node (o3) at (10, -2.1) {\faIcon{folder} \verb+rawdata+};
\node (o4) at (10, -2.8) {\faIcon[regular]{file} \verb+codebook.pdf+};
\path (n1.center) -- (o1a.west);
\path (n1.center) -- (o1b.west);
\path (n2.center) -- (o2.west);
\path (n2.center) -- (o3.west);
\path (n2.center) -- (o4.west);
\end{tikzpicture}
Steps
\begin{enumerate}
\item You need an OSF account -- just sign up with an e-mail address or use ORCID
\item Sign in
\item Create a project
\item Upload (or link) your files
\item Invite contributors
\end{enumerate}
\end{frame}
% TODO:
% Show different cases on OSF:
% 1. OSF with handmade codebook, all in one folder
% 2. OSF with different components (show that they can all have different
% licenses)
% 3. OSF with Github integrated
% Show selection of servers (GDPR)
\begin{frame}{Licenses}
\begin{columns}
\begin{column}{.3\textwidth}
\includegraphics[scale = .4]{../figures/licenses_osf.png}
\end{column}
\begin{column}{.7\textwidth}
\begin{itemize}
\item OSF offers you several options for licenses
\item For data the Creative Common (CC) licenses are usually a good option
\item For software, other options might be better suited
\item For code (e.\,g., analysis scripts) CC licenses are also a good
choice
\end{itemize}
\vspace{1cm}
\hfill{\footnotesize \url{https://creativecommons.org/}}\\
\hfill{\footnotesize \url{https://help.osf.io/article/288-license-your-project}}\\
\hfill{\footnotesize \url{https://choosealicense.com/}}
\end{column}
\end{columns}
\end{frame}
\begin{frame}{Github}
{\url{https://github.com/}}
\begin{columns}
\begin{column}{.8\textwidth}
\begin{itemize}
\item Developer platform that allows developers to create, store, manage and
share code
\item Based on Git software providing version control
\begin{itemize}
\item[+] access control
\item[+] bug tracking
\item[+] software feature requests
\item[+] task management
\item[+] continuous integration
\item[+] wikis
\end{itemize}
\item Commonly used to host open source software development projects
\item Bought by Microsoft in 2018
\end{itemize}
\end{column}
\begin{column}{.3\textwidth}
\includegraphics[scale = .2]{../figures/github.png}
\end{column}
\end{columns}
\end{frame}
\begin{frame}{Github workflow}
\begin{center}
\includegraphics[scale = .3]{../figures/workflow_git-github.png}
\end{center}
\hfill{\tiny \url{https://carpentries-incubator.github.io/open-science-with-r/09-collaborating}}
\end{frame}
% TODO:
% READMEs:
% https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes
\section[Repositories]{Sharing data in repositories}
\begin{frame}[allowframebreaks]{Data publication}
Which data should I share?
\begin{itemize}
\item In general, all data that are used in publications
\item Data for your dissertation
\item Data that you collected but know that you will never come around to
analyzing
\end{itemize}
\vspace{.3cm}
What are the reasons to share data?
\begin{itemize}
\item Transparency
\item Data safety
\item Cumulative research process
\item Visibility
\end{itemize}
\framebreak
For whom are you sharing data?
\begin{itemize}
\item Yourself
\item Reviewers
\item People who read your papers
\item Other scientists
\item Colleagues and collaboraters
\end{itemize}
\vspace{.3cm}
How should you share your data?
\begin{itemize}
\item On a public platform (or website), i.\,e., no account needed if
possible
\item Together with a codebook or at least an informative README
\end{itemize}
\end{frame}
\begin{frame}{Data repositories (suggested in our Research Data Policy)}
National
\begin{itemize}
\item \url{https://www.psycharchives.org/}
\item \url{https://www.forschungsdaten-bildung.de/}
\item \url{https://datorium.gesis.org/}
\item \url{https://www.iqb.hu-berlin.de/fdz}
\end{itemize}
\vspace{.4cm}
International
\begin{itemize}
\item \url{https://datadryad.org/}
\item \url{https://osf.io/}
\item \url{https://zenodo.org/}
\end{itemize}
\vfill
\hfill{\footnotesize \url{https://datamanagement.hms.harvard.edu/share-publish/data-repositories}}
\end{frame}
\begin{frame}[<+->]{Zenodo}{https://zenodo.org/}
\begin{itemize}
\item General-purpose open repository launched in 2015
\item Financed by the EU (European OpenAIRE program)
\item Operated by CERN
\item All disciplines
\item Suitable for
\begin{itemize}
\item Data sets
\item Papers / Preprints
\item Research software
\item Reports
\item Any other digital research objects
\end{itemize}
\item Upload up to 50 GB possible
\item Easily citable since all objects get DOI
\item Open source code is available on Github
\item IWM example: \url{https://doi.org/10.5281/zenodo.2532411}
\end{itemize}
\end{frame}
\begin{frame}[<+->]{PsychArchives}{https://psycharchives.org/}
\begin{itemize}
\item Disciplinary repository for psychological science (and neighboring
disciplines)
\item Developed and operated by ZPID (Leibniz-Institut für Psycholgie)
\item Accommodating 20 different digital research object (DRO) types
\begin{itemize}
\item Articles
\item Preprints
\item Research data
\item Code
\item Supplements
\item Preregistrations
\item \dots
\end{itemize}
\item Searchable by ``IWM'': \url{https://psycharchives.org/en/browse/?q=iwm}
\item Easily citable since all objects get DOI
\item Different objects can be linked together (e.\,g., data und code)
\end{itemize}
\end{frame}
\appendix
%%\begin{frame}[allowframebreaks]{References}
\begin{frame}{References}
%\renewcommand{\bibfont}{\small}
\printbibliography
\vfill
\end{frame}
\end{document}
+503
View File
@@ -0,0 +1,503 @@
\documentclass[aspectratio=169]{beamer}
\usepackage{listings}
%\usepackage[utf8]{inputenc}
\usepackage[style = apa, backend = biber, natbib = true]{biblatex}
\addbibresource{../literature/lit.bib}
\usepackage{fancyvrb}
\usepackage{fontawesome5} % get icons
\usepackage{multirow}
\usepackage{color, colortbl}
\usepackage{tikz}
\usetikzlibrary{fit}
\usepackage[edges]{forest}
\lstset{language = R,%
basicstyle = \ttfamily\color{iwmgray},
frame = single,
rulecolor = \color{iwmgray},
commentstyle = \slshape\color{iwmgreen},
keywordstyle = \bfseries\color{iwmgray},
identifierstyle = \color{iwmpurple},
stringstyle = \color{iwmblue},
numbers = none,%left,numberstyle = \tiny,
basewidth = {.5em, .4em},
showstringspaces = false,
emphstyle = \color{red!50!white}}
\makeatletter \def\newblock{\beamer@newblock} \makeatother
\beamertemplatenavigationsymbolsempty
\setbeamertemplate{itemize items}[circle]
\setbeamertemplate{section in toc}[circle]
\mode<beamer>{\setbeamercolor{math text displayed}{fg=iwmgray}}
\setbeamercolor{block body}{bg=iwmorange!50!white}
\setbeamercolor{block title}{fg=white, bg=iwmorange}
% Definitions for biblatex
\setbeamercolor{bibliography entry note}{fg=iwmgray}
\setbeamercolor{bibliography entry author}{fg=iwmgray}
\setbeamertemplate{bibliography item}{}
\definecolor{iwmorange}{RGB}{255,105,0}
\definecolor{iwmgray}{RGB}{67,79,79}
\definecolor{iwmblue}{RGB}{60,180,220}
\definecolor{iwmgreen}{RGB}{145,200,110}
\definecolor{iwmpurple}{RGB}{120,0,75}
\setbeamercolor{title}{fg=iwmorange}
\setbeamercolor{frametitle}{fg=iwmorange}
\setbeamercolor{structure}{fg=iwmorange}
\setbeamercolor{normal text}{fg=iwmgray}
\setbeamercolor{author}{fg=iwmgray}
\setbeamercolor{date}{fg=iwmgray}
\newcommand{\vect}[1]{\mathbf{#1}}
\newcommand{\mat}[1]{\mathbf{#1}}
\newcommand{\gvect}[1]{\boldsymbol{#1}}
\newcommand{\gmat}[1]{\boldsymbol{#1}}
\AtBeginSection[]{
\frame{
\tableofcontents[sectionstyle=show/hide, subsectionstyle=show/show/hide]}}
\setbeamertemplate{headline}{
\begin{beamercolorbox}{section in head}
\vskip5pt\insertsectionnavigationhorizontal{\paperwidth}{}{}\vskip2pt
\end{beamercolorbox}
}
\setbeamertemplate{footline}{\vskip-2pt\hfill\insertframenumber$\;$\vskip2pt}
\title{Clean coding}
\author{Nora Wickelmaier}
\date{July 8, 2024}
\begin{document}
\begin{frame}{}
\thispagestyle{empty}
\titlepage
\end{frame}
\begin{frame}{What is needed to make code reproducible?}
% slido
\centering
\includegraphics[width = 5cm]{../figures/QR Code for Methodenseminar SS 2024 - Session 5}
\url{https://app.sli.do/event/uEz8fJWkLBNm1sthQovXNH}
\end{frame}
\begin{frame}[fragile]{Programming resources}
\footnotesize
\begin{tabular}{ll}
Learning statistics with R & {\url{https://learningstatisticswithr.com/book/}} \\
&\\
R for Data Science & {\url{https://r4ds.hadley.nz/}} \\
&\\
Advanced R & {\url{https://adv-r.hadley.nz/}} \\
&\\
Happy Git and GitHub for the useR & {\url{https://happygitwithr.com/}} \\
&\\
R Programming for Research & {\url{https://geanders.github.io/RProgrammingForResearch/}} \\
&\\
Building reproducible analytical pipelines with R & {\url{https://raps-with-r.dev/}} \\
&\\
Data Skills for Reproducible Science & {\url{https://psyteachr.github.io/msc-data-skills/}} \\
\end{tabular}
\end{frame}
\begin{frame}{Agenda}
\centering
\begin{tabular}{ll}
\hline
Date & Topic \\
\hline
2024-05-13 & Introduction to data management \\
2024-05-27 & Workflow \\
2024-06-10 & Data organisation\\
2024-06-24 & Data sharing \\
\only<1>{2024-07-08}\only<2>{\bf 2024-07-08} &
\only<1>{Clean coding}\only<2>{\bf Clean coding} \\
2024-07-22 & Version control \\
\hline
\end{tabular}
\end{frame}
% Understandable coding
% Cleaning up R code for readability
% Documentation of a final R script
% Reproducible code
\section{Style guidelines}
\begin{frame}[<+->]{Style guidelines in R}
\begin{itemize}
\item R has no mandatory or commonly accepted style guide
\item However, Hadley Wickham and Google developed style guides which are
now widely accepted
\begin{itemize}
\item \url{https://google.github.io/styleguide/Rguide.html}
\item \url{https://style.tidyverse.org/}
\end{itemize}
\item It is always a good idea to follow a style guide and not ``create''
your own rules (if you deviate, be consistent!)
\item A style guide helps with
\begin{itemize}
\item Keeping code clean which is easier to read and interpret
\item Making it easier to catch and fix mistakes
\item Making it easier for others to follow and adapt your code
\item Preventing possible problems, e.\,g., avoiding dots in function
names
\end{itemize}
\end{itemize}
\nocite{Wickham_styleguide, Anderson2023}
\end{frame}
\begin{frame}[fragile, allowframebreaks]{File names}
\begin{itemize}
\item File names should be meaningful and end in .R
\item Avoid using special characters in file names
\item Stick with numbers, letters, \verb+-+, and \verb+_+
\begin{lstlisting}[identifierstyle = \bfseries\color{iwmgray}]
# Good
fit_models.R
utility_functions.R
# Bad
fit models.R
foo.r
stuff.r
\end{lstlisting}
\framebreak
\item If files should be run in a particular order, prefix them with numbers
\item If it seems likely youll have more than 10 files, left pad with zero
\begin{lstlisting}[identifierstyle = \bfseries\color{iwmgray}]
00_download.R
01_explore.R
...
09_model.R
10_visualize.R
\end{lstlisting}
\item If you later realize that you missed some steps, its tempting to use
02a, 02b, etc.
\item However, it is generally better to bite the bullet and rename all
files
\end{itemize}
\end{frame}
\begin{frame}[fragile, allowframebreaks]{Object names}
\begin{itemize}
\item Variable and function names should use only lowercase letters,
numbers, and \verb+_+
\item Use underscores (\verb+_+) (so called snake case) to separate words
within a name
\begin{lstlisting}[identifierstyle = \bfseries\color{iwmgray}]
# Good
day_one
day_1
# Bad
DayOne
dayone
\end{lstlisting}
\framebreak
\item Generally, variable names should be nouns and function names should be
verbs
\item Strive for names that are concise and meaningful
\begin{lstlisting}[identifierstyle = \bfseries\color{iwmgray}]
# Good
day_one
# Bad
first_day_of_the_month
djm1
\end{lstlisting}
\framebreak
\item Avoid re-using names of common functions and variables
\begin{lstlisting}
# Bad
T <- FALSE
c <- 10
mean <- function(x) sum(x)
\end{lstlisting}
\end{itemize}
\end{frame}
\begin{frame}[fragile, allowframebreaks]{Spacing}
\begin{itemize}
\item Always put a space after a comma, never before
\begin{lstlisting}
# Good
x[, 1]
# Bad
x[,1]
x[ ,1]
x[ , 1]
\end{lstlisting}
\framebreak
\item Do not put spaces inside or outside parentheses for regular function
calls
\begin{lstlisting}
# Good
mean(x, na.rm = TRUE)
# Bad
mean (x, na.rm = TRUE)
mean( x, na.rm = TRUE )
\end{lstlisting}
\framebreak
\item Place a space before and after \texttt{()} when used with \texttt{if},
\texttt{for}, or \texttt{while}
\begin{lstlisting}
# Good
if (debug) {
show(x)
}
# Bad
if(debug){
show(x)
}
\end{lstlisting}
\framebreak
\item Place a space after \texttt{()} used for function arguments
\begin{lstlisting}
# Good
function(x) {}
# Bad
function (x) {}
function(x){}
\end{lstlisting}
\framebreak
\item Most infix operators (\verb+==+, \verb|+|, \verb+-+, \verb+<-+, etc.)
should always be surrounded by spaces
\begin{lstlisting}
# Good
height <- (feet * 12) + inches
mean(x, na.rm = TRUE)
# Bad
height<-feet*12+inches
mean(x, na.rm=TRUE)
\end{lstlisting}
\framebreak
\item There are a few exceptions, which should never be surrounded by
spaces: \verb+::+, \verb+:::+, \verb+$+, \verb+@+, \verb+[+, \verb+[[+,
\verb+?+, \verb+^+, and \verb+:+
{\small
\begin{lstlisting}
# Good
sqrt(x^2 + y^2)
df$z
x <- 1:10
package?stats
?mean
# Bad
sqrt(x ^ 2 + y ^ 2)
df $ z
x <- 1 : 10
package ? stats
? mean
\end{lstlisting}
}
\item Adding extra spaces is ok if it improves alignment of \verb+=+ or
\verb+<-+
\begin{lstlisting}
# Good
list(
total = a + b + c,
mean = (a + b + c) / n
)
# Also fine
list(
total = a + b + c,
mean = (a + b + c) / n
)
\end{lstlisting}
\end{itemize}
\end{frame}
% CITE:
% https://style.tidyverse.org/index.html
% R Programming for Reserach: https://geanders.github.io/RProgrammingForResearch/
% Building reproducible analytical pipelines with R: https://raps-with-r.dev/
\section{Script organisation}
\begin{frame}[fragile]{Script header}
\begin{itemize}
\item It can be very helpful to have some general information right at the
top when opening a script
\begin{lstlisting}
# 01_preprocessing.R
#
# Cleaning up toy data set (Methods Seminar SS2024)
#
# Input: rawdata/RDM_MS_SS2024_download_2024-06-07.csv
# Output: processed/data_rdm-ms-ss2024_cleaned.csv
# processed/data_rdm-ms-ss2024_cleaned.RData
#
# Created: 2024-06-03, NW
\end{lstlisting}
\item These metadata help you remember faster what you did
\item Might not be necessary when using consistent version control (but does
not hurt either)
\end{itemize}
\end{frame}
\begin{frame}[fragile]{Line length}
{}
\begin{center}
{\Large\bf Keep lines to 80 characters or less!}
\end{center}
\begin{lstlisting}
# Good
my_df <- data.frame(n = 1:3,
letter = c("a", "b", "c"),
cap_letter = c("A", "B", "C"))
# Bad
my_df <- data.frame(n = 1:3, letter = c("a", "b", "c"), cap_letter = c("A", "B", "C"))
\end{lstlisting}
\begin{itemize}
\item Ensures that your code is formatted in a way that you can see all of
the code without scrolling horizontally
\item To set your script pane to be limited to 80 characters, go to\\
\verb+RStudio -> Preferences -> Code -> Display+\\
and set ``Margin Column'' to 80
\end{itemize}
\end{frame}
\begin{frame}[fragile, allowframebreaks]{File organisation}
\begin{itemize}
\item Try to write scripts that are concerned with one (major) task
\item If you can find a name, that captures the content, it is usually a
good way to start
\item Some (random) examples
\begin{lstlisting}[identifierstyle = \bfseries\color{iwmgray}]
download-data.R
data-cleaning.R
cluster_analysis_exp1.R
visualization_logistic-model.R
anova_h1.R
\end{lstlisting}
\framebreak
\item Export data sets for new scripts (do not make yourself run all scripts
up to script 5 each time, just because you need the data in a certain
format)
\begin{lstlisting}
# Interoperable
write.table(dat,
file = "data_exp1_cleaned.csv",
sep = ";",
quote = FALSE,
row.names = FALSE)
# Preserve order of factor levels, date formats, etc.
save(dat, file = "data_exp1_cleaned.RData")
\end{lstlisting}
\end{itemize}
\end{frame}
\begin{frame}[fragile, allowframebreaks]{Internal structure}
\begin{itemize}
\item Use commented lines with \texttt{-} or \texttt{=} to break your file
up into chunks
\item Load additional packages at the beginning of the script
\begin{lstlisting}
library(lme4)
library(sjPlot)
# Load data ---------------------------
# Plot data ---------------------------
\end{lstlisting}
\framebreak
\item If you load several packages, be aware that the order of loading
matters!
\item If you use only one or two functions from a package, get the function
with \verb+::+ instead of loading the whole package
\begin{lstlisting}
library(lme4)
...
# Fit mixed-effects model to test Hypothesis 1
lme1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy)
summary(lme1)
sjPlot::tab_model(lme1)
\end{lstlisting}
\framebreak
\item Group related pieces of code together
\item Separate blocks of code by empty spaces
\begin{lstlisting}
# Load data
library(faraway)
data(nepali)
# Relabel sex variable
nepali$sex <- factor(nepali$sex,
levels = c(1, 2),
labels = c("Male", "Female"))
\end{lstlisting}
\end{itemize}
\end{frame}
\begin{frame}{How can I test if my code is reproducible?}
% slido
\centering
\includegraphics[width = 5cm]{../figures/QR Code for Methodenseminar SS 2024 - Session 5}
\url{https://app.sli.do/event/uEz8fJWkLBNm1sthQovXNH}
\end{frame}
\section{Code reviews}
\begin{frame}[<+->]{Use your peers}
\begin{itemize}
\item Do not overthink it!
\item Just give your data and code to a colleague and ask them to reproduce
what you did (this sounds easy, but it is actually not!)
\item This will give you tons of insights about your workflow
\begin{itemize}
\item Can this person (in general) understand what you did?
\item Is this person able to easily put your data on their machine and
run the code right away?
\item Anything this person would have done differently?
\item Discuss why and which things you do differently
\end{itemize}
\item Reading other peoples's code is the best way to learn about how things
can be done differently than you do them
\item You can review code by printing it out and adding comments by hand\\
(I highly recommend this!)
\end{itemize}
\end{frame}
\appendix
%\begin{frame}[allowframebreaks]{References}
\begin{frame}{References}
%\renewcommand{\bibfont}{\small}
\printbibliography
\vfill
\end{frame}
\end{document}
+23
View File
@@ -0,0 +1,23 @@
# Last session: Wrap-up
How to apply all we learned this semester to archiving our research data at the
IWM:
* Show how to fill in the input mask
* Details on how to prepare data and folders
Show slide set "How to know what to archive"
* How to upload research data
* How to create new version of research data
* How to update meta data
* Explain the "Status" mechanism
* Show that only one person per data set has access to the meta data entry
+408
View File
@@ -0,0 +1,408 @@
\documentclass[aspectratio=169]{beamer}
\usepackage{tikz}
\usetikzlibrary{fit}
\usepackage{listings}
\usepackage[utf8,latin1]{inputenc}
\usepackage{multirow}
\usepackage{color, colortbl}
\usepackage{fontawesome5} % get icons
\makeatletter \def\newblock{\beamer@newblock} \makeatother
\beamertemplatenavigationsymbolsempty
\setbeamertemplate{itemize items}[circle]
\setbeamertemplate{section in toc}[circle]
\mode<beamer>{\setbeamercolor{math text displayed}{fg=iwmgrau}}
\setbeamercolor{block body}{bg=iwmorange!50!white}
\setbeamercolor{block title}{fg=white, bg=iwmorange}
\definecolor{iwmorange}{RGB}{255,105,0}
\definecolor{iwmgray}{RGB}{67,79,79}
\definecolor{iwmblue}{RGB}{60,180,220}
\definecolor{iwmpurple}{RGB}{120,0,75}
\definecolor{iwmorange}{RGB}{255,105,0}
\definecolor{iwmgrau}{RGB}{67,79,79}
\setbeamercolor{title}{fg=iwmorange}
\setbeamercolor{frametitle}{fg=iwmorange}
\setbeamercolor{structure}{fg=iwmorange}
\setbeamercolor{normal text}{fg=iwmgrau}
\setbeamercolor{author}{fg=iwmgrau}
\setbeamercolor{date}{fg=iwmgrau}
\lstset{language=bash,%
literate={Ü}{{\"U}}1
{ü}{{\"u}}1,
backgroundcolor=\color{iwmgrau!15!white},
basicstyle=\ttfamily\color{iwmgrau},
frame=none,
basicstyle=\ttfamily\color{iwmgrau},
commentstyle=\slshape\color{iwmgrau},
keywordstyle=\bfseries\color{iwmgrau},
identifierstyle=\color{iwmgrau},
stringstyle=\color{iwmgrau},
numbers=none,%left,numberstyle=\tiny,
basewidth={.5em, .4em},
showstringspaces=false,
emphstyle=\color{red!50!white}}
\pgfmathdeclarefunction{gauss}{2}{%
\pgfmathparse{1/(#2*sqrt(2*pi))*exp(-((x-#1)^2)/(2*#2^2))}%
}
\AtBeginSection[]{
\frame{
\tableofcontents[sectionstyle=show/hide, subsectionstyle=show/show/hide]}}
% \setbeamertemplate{headline}{
% \begin{beamercolorbox}{section in head}
% \vskip5pt\insertsectionnavigationhorizontal{\paperwidth}{}{}\vskip2pt
% \end{beamercolorbox}
% }
\setbeamertemplate{footline}{\vskip-2pt\hfill\insertframenumber$\;$\vskip2pt}
\title{How to know what to archive}
\author{Nora Wickelmaier}
\date{\today}
\begin{document}
\begin{frame}{}
\thispagestyle{empty}
\titlepage
\end{frame}
\begin{frame}{The basics}
Data
\begin{itemize}
\item Keep your raw data in a separate folder
\item If your raw data \emph{do not contain any personal data} submit them
with your analysis-ready data files
\item Submit the analysis script that got your raw data to
``analysis-ready`` (or at least a description of the process)\pause\hfill
{\bf\color{iwmpurple} Check out our Research Data Policy!}
\end{itemize}
\pause
Material
\begin{itemize}
\item Submit all materials that have been used to create these data
\begin{itemize}
\item Questionnaires
\item Program code for experiments
\item Stimuli presented, e.\,g., pictures or similar
\item \dots
\end{itemize}
\end{itemize}
\pause
Documentation
\begin{itemize}
\item Add a description of your data and experiment
\item In its simplest form this can just be a README file, ideally as text
or PDF file
\end{itemize}
\end{frame}
\begin{frame}[fragile]{Previous folder structure on \texttt{Y:/}}
\begin{columns}
\begin{column}{.4\textwidth}
\begin{tikzpicture}[
every node/.style = {text width = 3.6cm, align = left},
every path/.style = {thick, draw}
]
\node[text width = 2cm] (top) at (0, 0) {\faIcon{folder} \verb+study+};
% first level
\node (n1) at (4, 0) {\faIcon{folder} \verb+data+};
\node (n2) at (4, -0.7) {\faIcon{folder} \verb+ethik+};
\node (n3) at (4, -1.4) {\faIcon{folder} \verb+material+};
\node (n4) at (4, -2.1) {\faIcon{folder} \verb+pub+};
\node (n5) at (4, -2.8) {\faIcon{folder} \verb+scans+};
\path (top.east) -- (n1.west);
\path (top.east) -- (n2.west);
\path (top.east) -- (n3.west);
\path (top.east) -- (n4.west);
\path (top.east) -- (n5.west);
\end{tikzpicture}
\end{column}
\begin{column}{.6\textwidth}
\begin{itemize}[<+->]
\item Very basic (and good) folder structure for a research project
\item Submitting the approval document of our \emph{local} ethics
committee is now optional, since the connection will be possible via
your meta data\\
% $\to$ If the project was evaluated by an external ethics committee it
% might still be a good idea to submit the approval document
\item Data and material are the most important folders to help other
people make sense of your data
\end{itemize}
\end{column}
\end{columns}
\vfill
\end{frame}
\begin{frame}[fragile]{Some additional suggestions}
\vspace{.2cm}
\begin{tikzpicture}[
every node/.style = {text width = 3.6cm, align = left},
every path/.style = {thick, draw}
]
\node[text width = 2cm] (top) at (0, 0) {\faIcon{folder} \verb+study+};
% first level
\node (n1) at (4, 0) {\faIcon{folder} \verb+code+};
\node (n2) at (4, -0.7) {\faIcon{folder} \verb+data+};
\node (n3) at (4, -1.4) {\faIcon{folder} \verb+material+};
\node (n4) at (4, -2.1) {\faIcon{folder} \verb+preregistration+};
\node (file) at (4, -2.8) {\faIcon[regular]{file} \verb+README.md+};
\path (top.east) -- (n1.west);
\path (top.east) -- (n2.west);
\path (top.east) -- (n3.west);
\path (top.east) -- (n4.west);
\path (top.east) -- (file.west);
\end{tikzpicture}
\pause
\vfill
Separate your code from your data folder and add your preregistration for the
project
\end{frame}
\begin{frame}[fragile]{Some additional suggestions}
\begin{tikzpicture}[
every node/.style = {text width = 3.6cm, align = left},
every path/.style = {thick, draw}
]
\node[text width = 2cm] (top) at (0, 0) {\faIcon{folder} \verb+study+};
% first level
\node (n1) at (4, 0) {\faIcon{folder} \verb+code+};
\node (n2) at (4, -0.7) {\faIcon{folder} \verb+data+};
\node (n3) at (4, -1.4) {\faIcon{folder} \verb+material+};
\node (n4) at (4, -2.1) {\faIcon{folder} \verb+preregistration+};
\node (file) at (4, -2.8) {\faIcon[regular]{file} \verb+README.md+};
\path (top.east) -- (n1.west);
\path (top.east) -- (n2.west);
\path (top.east) -- (n3.west);
\path (top.east) -- (n4.west);
\path (top.east) -- (file.west);
% second level
\node[text width = 5cm] (o1) at (10, 0) {\faIcon[regular]{file} \verb+01_preprocessing.R+};
\node[text width = 5cm] (o2) at (10, -0.7) {\faIcon[regular]{file} \verb+02_descriptives.R+};
\node[text width = 5cm] (o3) at (10, -1.4) {\faIcon[regular]{file} \verb+03_modeling.R+};
\node[text width = 5cm] (o4) at (10, -2.1) {\faIcon[regular]{file} \verb+04_plots.R+};
\path (n1.east) -- (o1.west);
\path (n1.east) -- (o2.west);
\path (n1.east) -- (o3.west);
\path (n1.east) -- (o4.west);
\end{tikzpicture}
\vfill
Separate your code from your data folder and add your preregistration for the
project
\end{frame}
\begin{frame}[fragile]{Some additional suggestions}
\begin{tikzpicture}[
every node/.style = {text width = 3.6cm, align = left},
every path/.style = {thick, draw}
]
\node[text width = 2cm] (top) at (0, 0) {\faIcon{folder} \verb+study+};
% first level
\node (n1) at (4, 0) {\faIcon{folder} \verb+code+};
\node (n2) at (4, -0.7) {\faIcon{folder} \verb+data+};
\node (n3) at (4, -1.4) {\faIcon{folder} \verb+material+};
\node (n4) at (4, -2.1) {\faIcon{folder} \verb+preregistration+};
\node (file) at (4, -2.8) {\faIcon[regular]{file} \verb+README.md+};
\path (top.east) -- (n1.west);
\path (top.east) -- (n2.west);
\path (top.east) -- (n3.west);
\path (top.east) -- (n4.west);
\path (top.east) -- (file.west);
% second level
\node[text width = 6cm] (o1) at (10.5, -0.7) {\faIcon{folder} \verb+01_raw-data+};
\node[text width = 6cm] (o2) at (10.5, -1.4) {\faIcon{folder} \verb+02_processed-data+};
\node[text width = 6cm] (o3) at (10.5, -2.1) {\faIcon[regular]{file}
\verb+codebook_processed-data.pdf+};
\path (n2.east) -- (o1.west);
\path (n2.east) -- (o2.west);
\path (n2.east) -- (o3.west);
\end{tikzpicture}
\vfill
Separate your code from your data folder and add your preregistration for the
project
\end{frame}
\begin{frame}[fragile]{Some additional suggestions}
\begin{tikzpicture}[
every node/.style = {text width = 3.6cm, align = left},
every path/.style = {thick, draw}
]
\node[text width = 2cm] (top) at (0, 0) {\faIcon{folder} \verb+study+};
% first level
\node (n1) at (4, 0) {\faIcon{folder} \verb+code+};
\node (n2) at (4, -0.7) {\faIcon{folder} \verb+data+};
\node (n3) at (4, -1.4) {\faIcon{folder} \verb+material+};
\node (n4) at (4, -2.1) {\faIcon{folder} \verb+preregistration+};
\node (file) at (4, -2.8) {\faIcon[regular]{file} \verb+README.md+};
\path (top.east) -- (n1.west);
\path (top.east) -- (n2.west);
\path (top.east) -- (n3.west);
\path (top.east) -- (n4.west);
\path (top.east) -- (file.west);
% second level
\node[text width = 5cm] (o1) at (10, -1.4) {\faIcon{folder} \verb+stimuli+};
\node[text width = 5cm] (o2) at (10, -2.1) {\faIcon[regular]{file} \verb+survey01.pdf+};
\node[text width = 5cm] (o3) at (10, -2.8) {\faIcon[regular]{file} \verb+survey02.pdf+};
\path (n3.east) -- (o1.west);
\path (n3.east) -- (o2.west);
\path (n3.east) -- (o3.west);
\end{tikzpicture}
\vfill
\end{frame}
\begin{frame}[fragile]{Some additional suggestions}
\vspace{.4cm}
\begin{tikzpicture}[
every node/.style = {text width = 3.6cm, align = left},
every path/.style = {thick, draw}
]
\node[text width = 2cm] (top) at (0, 0) {\faIcon{folder} \verb+study+};
% first level
\node (n1) at (4, 0) {\faIcon{folder} \verb+code+};
\node (n2) at (4, -0.7) {\faIcon{folder} \verb+data+};
\node (n3) at (4, -1.4) {\faIcon{folder} \verb+material+};
\node (n4) at (4, -2.1) {\faIcon{folder} \verb+preregistration+};
\node (file) at (4, -2.8) {\faIcon[regular]{file} \verb+README.md+};
\path (top.east) -- (n1.west);
\path (top.east) -- (n2.west);
\path (top.east) -- (n3.west);
\path (top.east) -- (n4.west);
\path (top.east) -- (file.west);
% second level
\node[text width = 6cm] (o1) at (10.5, -2.1) {\faIcon[regular]{file} \verb+2024-06-11_prereg_study.pdf+};
\path (n4.east) -- (o1.west);
\end{tikzpicture}
\pause
\vfill
A preregistration usually contains all important information like what
variables have been collected, what were the hypotheses, etc.
\end{frame}
\begin{frame}[fragile]{Some additional suggestions}
\begin{columns}
\begin{column}{.45\textwidth}
\begin{tikzpicture}[
every node/.style = {text width = 3.6cm, align = left},
every path/.style = {thick, draw}
]
\node[text width = 2cm] (top) at (0, 0) {\faIcon{folder} \verb+study+};
% first level
\node (n1) at (4, 0) {\faIcon{folder} \verb+code+};
\node (n2) at (4, -0.7) {\faIcon{folder} \verb+data+};
\node (n3) at (4, -1.4) {\faIcon{folder} \verb+material+};
\node (n4) at (4, -2.1) {\faIcon{folder} \verb+preregistration+};
\node (file) at (4, -2.8) {\faIcon[regular]{file} \verb+README.md+};
\path (top.east) -- (n1.west);
\path (top.east) -- (n2.west);
\path (top.east) -- (n3.west);
\path (top.east) -- (n4.west);
\path (top.east) -- (file.west);
\end{tikzpicture}
\end{column}
\begin{column}{.55\textwidth}
\vspace{-3cm}
\begin{itemize}
\item Add any additional folders that you need
\end{itemize}
\end{column}
\end{columns}
\end{frame}
\begin{frame}[fragile]{Some additional suggestions}
\vspace{1cm}
\begin{columns}
\begin{column}{.45\textwidth}
\begin{tikzpicture}[
every node/.style = {text width = 3.6cm, align = left},
every path/.style = {thick, draw}
]
\node[text width = 2cm] (top) at (0, 0) {\faIcon{folder} \verb+study+};
% first level
\node (n1) at (4, 0) {\faIcon{folder} \bf background};
\node (n2) at (4, -0.7) {\faIcon{folder} \verb+code+};
\node (n3) at (4, -1.4) {\faIcon{folder} \verb+data+};
\node (n4) at (4, -2.1) {\faIcon{folder} \verb+material+};
\node (n5) at (4, -2.8) {\faIcon{folder} \verb+preregistration+};
\node (file) at (4, -3.5) {\faIcon[regular]{file} \verb+README.md+};
\path (top.east) -- (n1.west);
\path (top.east) -- (n2.west);
\path (top.east) -- (n3.west);
\path (top.east) -- (n4.west);
\path (top.east) -- (n5.west);
\path (top.east) -- (file.west);
\end{tikzpicture}
\end{column}
\begin{column}{.55\textwidth}
\vspace{-2.5cm}
\begin{itemize}
\item Add any additional folders that you need
\item Maybe a folder \verb+background+ with a PhD expos{\'e} or a grant
application (or both)
\end{itemize}
\end{column}
\end{columns}
\vfill
\end{frame}
\begin{frame}[fragile]{Some additional suggestions}
\vspace{.5cm}
\begin{columns}
\begin{column}{.45\textwidth}
\begin{tikzpicture}[
every node/.style = {text width = 3.6cm, align = left},
every path/.style = {thick, draw}
]
\node[text width = 2cm] (top) at (0, 0) {\faIcon{folder} \verb+study+};
% first level
\node (n1) at (4, 0) {\faIcon{folder} \verb+code+};
\node (n2) at (4, -0.7) {\faIcon{folder} \verb+data+};
\node (n3) at (4, -1.4) {\faIcon{folder} \verb+material+};
\node (n4) at (4, -2.1) {\faIcon{folder} \verb+preregistration+};
\node (n5) at (4, -2.8) {\faIcon{folder} \bf software};
\node (file) at (4, -3.5) {\faIcon[regular]{file} \verb+README.md+};
\path (top.east) -- (n1.west);
\path (top.east) -- (n2.west);
\path (top.east) -- (n3.west);
\path (top.east) -- (n4.west);
\path (top.east) -- (n5.west);
\path (top.east) -- (file.west);
\end{tikzpicture}
\end{column}
\begin{column}{.55\textwidth}
\begin{itemize}
\item Add any additional folders that you need
\item Maybe a folder \verb+background+ with a PhD expos{\'e} or a grant
application (or both)
\item Or a folder \verb+software+ with Python or Matlab code that you
wrote for your experiment
\item \dots
\end{itemize}
\vfill
\end{column}
\end{columns}
\end{frame}
\begin{frame}{}
{}
\begin{center}
{\Huge\color{iwmblue} Don't overthink it and use common sense.\\
\vspace{1cm}\pause
Then add everything that you think a colleague needs to understand what you
did.}
\end{center}
\end{frame}
\end{document}
+5 -1
View File
@@ -7,7 +7,7 @@
| 2024-06-10 | Data organisation |
| 2024-06-24 | Data sharing |
| 2024-07-08 | Clean coding |
| 2024-07-22 | Version control |
| 2024-07-22 | Archiving data at the IWM |
# Literature
@@ -20,6 +20,10 @@ Frazier, M. R., O'Hara, C. C., Jiang, N., & Halpern, B. S. (2017). Our path
to better science in less time using open data science tools. _Nature
Ecology & Evolution, 1_(6), 1-7. https://doi.org/10.1038/s41559-017-0160
Wicherts, J. M., & Bakker, M. (2012).Publish (your data) or (let the data)
perish! Why not publish your data too? _Intelligence, 40_(2), 7376.
https://doi.org/10.1016/j.intell.2012.01.004
Wilbrandt, J. (2023). Research Data Management Intro Series: Coffee Lectures &
Espresso Shots. https://doi.org/10.5281/zenodo.7573695
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 529 KiB

+45
View File
@@ -1,3 +1,11 @@
@book{Anderson2023,
title = {R programming for research},
author = {Brooke Anderson and Rachel Severson and Nicholas Good},
year = {2023},
publisher = {Colorado State University, ERHS 535},
url = {https://geanders.github.io/RProgrammingForResearch/}
}
@article{Kathawalla2021,
title = {Easing into open science: {A} guide for graduate students and their advisors},
author = {Kathawalla, Ummul-Kiram and Silverstein, Priya and Syed, Moin},
@@ -8,6 +16,14 @@
doi = {10.1525/collabra.18684}
}
@book{Koeller2004,
title = {Wege zur {H}ochschulreife in {B}aden-{W}{\"u}rttemberg: {TOSCA} -- {E}ine {U}ntersuchung an allgemein bildenden und beruflichen {G}ymnasien},
author = {K{\"o}ller, Olaf and Watermann, Ralf and Trautwein, Ulrich and L{\"u}dtke, Oliver},
year = {2004},
publisher = {Springer},
doi = {10.1007/978-3-322-80906-3}
}
@article{Lowndes2017,
title = {Our path to better science in less time using open data science tools},
author = {Lowndes, Julia S Stewart and Best, Benjamin D and Scarborough, Courtney and Afflerbach, Jamie C and Frazier, Melanie R and O'Hara, Casey C and Jiang, Ning and Halpern, Benjamin S},
@@ -30,6 +46,35 @@
doi = {10.1177/2515245917747656}
}
@article{Ngo2023,
title = {Spot the bot: Investigating user's detection cues for social bots and their willingness to verify Twitter profiles},
journal = {Computers in Human Behavior},
volume = {146},
pages = {107819},
year = {2023},
issn = {0747-5632},
doi = {https://doi.org/10.1016/j.chb.2023.107819},
url = {https://www.sciencedirect.com/science/article/pii/S074756322300170X},
author = {Thao Ngo and Magdalena Wischnewski and Rebecca Bernemann and Martin Jansen and Nicole Kr{\"a}mer}
}
@article{Wicherts2012,
title = {Publish (your data) or (let the data) perish! {W}hy not publish your data too?},
author = {Wicherts, Jelte M and Bakker, Marjan},
journal = {Intelligence},
volume = {40},
number = {2},
pages = {73--76},
year = {2012},
doi = {10.1016/j.intell.2012.01.004}
}
@misc{Wickham_styleguide,
author = {Hadley Wickham},
title = {The tidyverse style guide},
url = {https://style.tidyverse.org/}
}
@misc{Wilbrandt2023,
author = {Wilbrandt, Jeanne},
title = {{Research Data Management Intro Series: Coffee Lectures \& Espresso Shots}},