[PRE REVIEW]: Goodreader: An Open-Source R Package for Teaching Computational Text Analysis with Goodreads Reviews
Submitting author: @chaoliu-cl (Chao Liu) Repository: https://github.com/chaoliu-cl/Goodreader Branch with paper.md (empty if default branch): main Version: v0.1.2 Editor: Pending Reviewers: Pending Managing EiC: Lorena Barba
Status
Status badge code:
HTML: <a href="https://jose.theoj.org/papers/f66d41e762df32e9911f91f6ba6de1b8"><img src="https://jose.theoj.org/papers/f66d41e762df32e9911f91f6ba6de1b8/status.svg"></a>
Markdown: [](https://jose.theoj.org/papers/f66d41e762df32e9911f91f6ba6de1b8)
Author instructions
Thanks for submitting your paper to JOSE @chaoliu-cl. Currently, there isn't a JOSE editor assigned to your paper.
@chaoliu-cl if you have any suggestions for potential reviewers then please mention them here in this thread (without tagging them with an @). You can search the list of people that have already agreed to review and may be suitable for this submission.
Editor instructions
The JOSE submission bot @editorialbot is here to help you find and assign reviewers and start the main review. To find out what @editorialbot can do for you type:
@editorialbot commands
Hello human, I'm @editorialbot, a robot that can help you with some common editorial tasks.
For a list of things I can do to help you, just type:
@editorialbot commands
For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:
@editorialbot generate pdf
:warning: An error happened when generating the pdf.
@editorialbot generate pdf
:warning: An error happened when generating the pdf.
@editorialbot generate pdf
:warning: An error happened when generating the pdf.
@editorialbot generate pdf
:warning: An error happened when generating the pdf.
@editorialbot set master as branch
Done! branch is now master
@editorialbot generate pdf
:warning: An error happened when generating the pdf.
@editorialbot set main as branch
Done! branch is now main
@editorialbot generate pdf
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
Hi @labarba, I wonder if there is any update on the review. Thank you!
@editorialbot check repository
Repository Analysis Report
Code breakdown
github.com/AlDanial/cloc v 1.98 T=0.02 s (1604.6 files/s, 109196.3 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
R 25 183 751 1025
Markdown 4 40 0 108
TeX 1 11 0 105
YAML 3 20 5 81
Rmd 2 55 129 48
Text 3 0 0 25
-------------------------------------------------------------------------------
SUM: 38 309 885 1392
-------------------------------------------------------------------------------
Commit Count by Author
35 Chao Liu
Repository History
Repository age: First commit on July 30, 2024
Code distribution (top 3 48-hour windows):
| Period | Insertions | % of Total | Signal | View Changes |
|---|---|---|---|---|
| Jul 29, 2024 - Jul 31, 2024 | 1190 | 42.6% | 🟡 | View diff |
| Sep 01, 2024 - Sep 03, 2024 | 747 | 26.7% | 🟡 | View diff |
| Oct 23, 2024 - Oct 25, 2024 | 544 | 19.5% | 🟢 | View diff |
GitHub Activity Metrics
| Metric | Count |
|---|---|
| GitHub stars | 1 |
| Forks | 2 |
| GitHub contributors | 1 |
| Releases | 1 |
| Total issues | 1 |
| Total pull requests | 1 |
| Unique commenters/reviewers (excluding authors) | 0 |
Paper file info:
⚠️ Wordcount for paper.md is 1402
✅ The paper includes a Statement of need section
License info:
🔴 Failed to discover a valid open source license
@editorialbot query scope
Submission flagged for editorial review.
Hi @chaoliu-cl — As you might have noticed, we have limited capacity in our all-volunteer editorial board. Thank you for your patience.
I have flagged your submission for scope, as in my assessment the educational objectives are tenuous, and the code appears more like a minor utility than the substantial scholarly effort we require for publication. Editors will have a second look and vote in our backend. You are welcome to defend your submission if you'd like, but with our limited editorial capacity we are inclined to apply our scope check rigorously.
Hi @labarba ,
Thanks for the feedback. I'd like to respectfully push back on the "minor utility" characterization and clarify the educational objectives.
Why This Matters for Education Goodreader solves a real problem in teaching computational text analysis: students want to work with interesting, real-world data, but most don't have the programming skills to scrape it themselves. Literary data from Goodreads (150+ million reviews) is perfect for teaching—it's relatable, rich, and enables questions students actually care about. The package isn't just about data collection. It's designed as a complete teaching pipeline that walks students through the entire research workflow:
- Search and explore → Collect data → Analyze sentiment → Model topics → Visualize findings
This workflow teaches technical skills (web scraping, NLP, data visualization, statistical modeling) alongside critical thinking (formulating research questions, interpreting results, understanding data limitations).
Substantial Implementation
The package includes 28 documented, tested functions organized into:
- Core scraping infrastructure (search, books, reviews with parallel processing)
- Complete sentiment analysis pipeline (3 lexicons, negation handling, temporal visualization)
- Full topic modeling workflow (preprocessing, LDA, 4 visualization types)
- 11 utility functions for metadata extraction
Features include language detection, negation scope detection in sentiment analysis, parallel processing for classroom-scale work, and robust error handling.
Cross-Disciplinary Impact The package serves digital humanities (literary reception), data science (NLP pipelines), marketing (consumer behavior), and social sciences (cultural trends)—with citations to relevant scholarship (Thelwall, Koolen, Peters) in the paper.
Ongoing Support I've maintained this package on CRAN since publication and am committed to long-term support, including updates when Goodreads changes their site structure.