themescopeR
Social Representation Analysis via Semantic Network Mapping
Implements the ThemeScope framework for detecting and visualising social representations in large-scale digital text corpora. From raw documents it builds, via 'udpipe' annotation, sentence-level word co-occurrence networks and derives two community-level indicators grounded in Social Representation Theory: the Prototypical Salience Index (PSI) for anchoring and the Concreteness Score (CS) for objectification. Communities are located in a two-dimensional, theoretically grounded representational map. The whole pipeline is usable from the R console; an optional 'shiny' graphical interface calls the same exported functions. The method is described in Misuraca, Spano and D'Aniello (2026) <doi:10.1177/01655515261454276>.
README
# Example data: `sample_collection.csv` and `demo_annotated.rds` ## `sample_collection.csv` A random sample of **1000 documents** used for examples, tests, and the Shiny demo. They are Reddit comments posted across 2025, spanning subreddits such as `changemyview`, `conspiracy`, `climatechange`, `energy`, `climate`, `Futurology`, `worldnews`, `politics`, `climateskeptics` and `science`. Each row is one document with the columns: | Column | Type | Description | |---|---|---| | `doc_id` | character | Unique document identifier | | `text` | character | Raw document text | | `date` | character | Posting date (`YYYY-MM-DD`) | | `subreddit` | character | Source subreddit | | `score` | integer | Reddit score | ## `demo_annotated.rds` The same 1000 documents after `preprocess_texts()`, using the English **GUM** treebank: the complete udpipe annotation (one row per token, 60,512 rows). Document ids are renumbered `doc_1` to `doc_1000` following the order of `sample_collection.csv`, so the two files line up when the collection is read with `read_collection(..., sequential_ids = TRUE)`. Shipping the annotation is what lets the Shiny demo start from a corpus that is already tokenised, lemmatised and POS tagged, with no udpipe model to download. It is rebuilt by `data-raw/make_demo_annotation.R`. ## Source and licence The documents are a random subsample of the **"Public Opinion on Climate Change" Reddit dataset** publicly hosted on Kaggle: <https://www.kaggle.com/datasets/asaniczka/public-opinion-on-climate-change-updated-daily> The data are freely available for reuse from Kaggle. They are shipped here only as a small, self-contained example so that `themescopeR` can be tried end to end without any download. > The same 1000 documents are also provided (outside the package, for > development checks) in `.xlsx` and `.RData` formats under the project's > `sample_collection/` folder, to verify that `read_collection()` produces an > identical tidy result across all three formats.
Versions across snapshots
| Version | Repository | File | Size |
|---|---|---|---|
0.1.1 |
rolling linux/jammy R-4.5 | themescopeR_0.1.1.tar.gz |
1.2 MiB |
0.1.1 |
rolling linux/noble R-4.5 | themescopeR_0.1.1.tar.gz |
1.2 MiB |
0.1.1 |
rolling source/ R- | themescopeR_0.1.1.tar.gz |
1.0 MiB |
0.1.1 |
latest linux/jammy R-4.5 | themescopeR_0.1.1.tar.gz |
1.2 MiB |
0.1.1 |
latest linux/noble R-4.5 | themescopeR_0.1.1.tar.gz |
1.2 MiB |
0.1.1 |
latest source/ R- | themescopeR_0.1.1.tar.gz |
1.0 MiB |
0.1.1 |
2026-04-23 source/ R- | themescopeR_0.1.1.tar.gz |
0 B |