- Check the assessment and project deadline map.
- Work from a topic to an available dataset and a possible research question.
- Discuss whether the data are suitable, using a few simple R checks.
21 October 2026
Thinking about the last fortnight:
Take a moment to think, then share what you are comfortable sharing.
| Deadline | Module | Milestone |
|---|---|---|
| 30 Oct ’26 | Visualization/Data Dashboards | Formative |
| 30 Oct ’26 | Python/Machine Learning | Formative |
| 11 Dec ’26 | Computational Statistics | Formative report |
| 08 Jan ’27 | Visualization/Data Dashboards | Portfolio |
| 15 Jan ’27 | Python/Machine Learning | Report |
| 01 Mar ’27 | Research project | Ethics deadline |
| 19 Mar ’27 | Computational Statistics | Report |
| 25 Mar ’27 | Professional Skills | Portfolio |
| 09 Apr ’27 | Brain, Behaviour and Cognition | Written assignment |
| 23 Apr ’27 | Cyberspace/Online Behaviour | Critical essay |
| 11 Jun ’27 | Research project | Project draft |
| 23 Jul ’27 | Research project | PG project submission |
Discuss the upcoming assessments:
Think individually for 2-3 minutes, then share your estimates and approach with the group.
Finding and evaluating suitable data is a useful skill across several modules:
Check each assessment brief for its requirements about choosing data.
You can start with a research question or a topic of interest.
A specific question can guide your search, but suitable data may not exist or be accessible. You may need to refine the question, population, or measurements.
Today: topic -> available data -> understand measurements -> develop/refine a question.
Think about a dataset search you have tried:
Let’s collect useful sources and search tips as a group. An unsuccessful search is useful to discuss too.
The reference slides include:
Use the sources overview for your search and the checklist to assess what you find.
Let’s explore Rdatasets together in the browser.
Find and inspect
What still needs checking?
A matching title or study plan does not guarantee usable data.
R demo: Explore the data and run a few simple checks.
library(tidyverse) dat <- ggplot2::msleep ?msleep glimpse(dat) View(dat)
?msleep opens the dataset documentation; View(dat) opens the data viewer.
The documentation describes 83 species, including:
sleep_total: total sleep in hours;vore: diet group;bodywt: body weight in kilograms.One row represents a species. What comparisons or relationships could we explore?
The data include sleep duration and diet groups, so one possible question is:
How does total sleep differ between mammal diet groups?
sleep_total; grouping variable: vore.We developed the question from the available measurements. If patterns in the results later suggest a new question, describe that exploration honestly.
Use Your Dataset Checklist in the reference slides when assessing your own data. In brief:
| Check | Ask |
|---|---|
| Assessment and source | Does it meet the brief, with a clear source and reuse terms? |
| Measurements and question | Do the actual variables support a meaningful question? |
| Observations | What is one row? Are usable cases and groups sufficient? |
| Data quality | Are values, missingness, and repeated observations understood? |
| Workload | Can we open and prepare the data in the time available? |
Keep it, narrow the scope, or look for another source. A dataset that opens successfully may still be unsuitable.
Start a new conversation without your fav AI and use this prompt. Enable web search if available.
Suggest one publicly accessible dataset about sleep for a small MSc behavioural data analysis. Give links to the dataset and its documentation. Briefly describe the measurements, what one row represents, the file format, and access/reuse conditions. Use web sources if available, and mark anything you cannot verify as unknown.
Everyone submits the same prompt independently, then compares with a partner.
(Check the questions on the next slide!)
Open the suggested dataset and documentation in your browser.
Share one verified detail and one claim that was wrong, unclear, or unsupported. A missing or broken link is a finding too.
Would you use this dataset, and what would you still need to check?
Different answers are not necessarily wrong; matching answers are not evidence of accuracy.
Choose a topic.
What do you find difficult about finding datasets? What helped?
Share:
Raise any unresolved assessment or deadline questions.
Anything unchecked? Note what you need to verify, simplify, or ask about before committing.
| Place | How to search | What to check next |
|---|---|---|
| OSF | Topic/task keywords; refine by resource type. | Find data files, not only a study plan. |
| Zenodo | Topic keywords; choose Dataset as resource type. | Inspect files, description, and licence. |
| Kaggle | Search the Datasets section by topic. | Trace the original source and variable meanings. |
| UK Data Service | Search the data catalogue or browse themes. | Check access requirements and documentation. |
| Rdatasets | Use the browser’s Find on the dataset list. | Follow CSV for data and DOC for documentation. |
Start with one source. A paper’s data availability statement is another route to its repository.
| Change | Tidyverse function | What to explain |
|---|---|---|
| Fewer outcomes or predictors | select() |
Which variables answer the narrower question? |
| One population, condition, or period | filter() |
How does the target population change? |
| Clearer names or units | rename(), mutate() |
What do the revised variables mean? |
| Fewer categories | forcats::fct_collapse() |
Is combining groups meaningful? |
| One row per person/group | group_by(), summarise() |
What detail is lost by averaging? |
| Reshape repeated measurements | pivot_longer(), pivot_wider() |
What should one row represent? |
| Handle missing required values | drop_na() |
How many cases are lost, and could this bias results? |
| Smaller development sample | slice_sample() |
Use for testing code; revisit the full data. |
Choose changes for the question and assessment. Removing inconvenient cases or combining unlike groups needs justification.
If the question becomes a comparison of herbivores and carnivores:
# Choose columns sleep_small <- select(dat, name, vore, sleep_total) # Choose rows sleep_small <- filter(sleep_small, vore == "herbi" | vore == "carni")
This leaves 51 species and excludes other/unknown diets. Explain the narrower scope; related species can still share evolutionary history.
You may not need to change the data. Consider a simpler source if preparation becomes too demanding.
Kaggle can be useful, especially for CSV files with previews.
Treat it as a starting point, not automatic approval.
A Kaggle dataset is only suitable if you can:
A dataset is not useful if you cannot open it reliably.
Common formats and R tools:
| Format | Example | R package/function |
|---|---|---|
| CSV | data.csv |
readr::read_csv() |
| TSV/text | data.tsv, data.txt |
readr::read_tsv(), readr::read_delim() |
| Excel | data.xlsx |
readxl::read_excel() |
| SPSS | data.sav |
haven::read_sav() |
| Stata | data.dta |
haven::read_dta() |
| R data | data.rds |
readRDS() |
Use the right function to import your dataset.
library(tidyverse)
library(readxl)
library(haven)
ldt_csv <- read_csv("data/chinese_ldt.csv")
ldt_excel <- read_excel("data/chinese_ldt.xlsx")
ldt_spss <- read_sav("data/chinese_ldt.sav")
Check that you can import and inspect the data.
After importing, do not start modelling immediately.
glimpse(ldt_csv) names(ldt_csv) count(ldt_csv, lexicality) count(ldt_csv, script, lexicality)