Open-source project
joanby/r-basic avatar
joanby/r-basic

r-basic: a descriptive statistics course in R, RStudio and Python

Curso de introducción a la estadística descriptiva con R Studio

603 stars3,710 forksHTMLLicense varies

At a glance

What is it?
r-basic is the repository of course material for a Spanish language introduction to descriptive statistics taught with R, RStudio and Python, and it is a teaching resource rather than a library. A separate branch adapts the same code to current versions of R, pandas, NumPy and matplotlib.
Who is it for?
r-basic suits a Spanish speaking student or instructor who wants the exact scripts and exercises from a descriptive statistics course, and who wants a R and Python version of the same material rather than choosing one. It does not suit a production project, because it is course material rather than a maintained package, with no releases and no stated licence.
Can I use it commercially?
Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
Is it still maintained?
Yes. The repository last received commits 9 days ago.
What is it written in?
Mainly HTML, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

A course repository rather than a library

r-basic is the GitHub repository for a course on introductory descriptive statistics with R Studio and Python, taught by Juan Gabriel Gomila and María Santos. The repository description is exactly that, in Spanish, and the README links the corresponding paid course on Udemy with a coupon code.

So the first thing to establish is what this repository is. It is not a package, and it is not a framework. It is the course content, and the README explains the reasoning: a GitHub repository with all the course content so that students have the same scripts used in class from the first minute. That is a deliberate teaching decision rather than an incidental repository.

The audience is defined by the README's own framing. The course is aimed at people who are about to take more advanced data analysis courses, and the content is focused on solving the gap in foundations that those students present. The stated ambition is that taking this course separately lets you level your knowledge and then take the more advanced courses, with the confidence that the foundation holds.

For a reader evaluating open source projects, the useful question is therefore not whether the code is production quality, but whether the pedagogy is sound and whether the content is current. The repository answers the second question explicitly, and the first question is answered by the fact that this is course content and nothing more.

Eleven chapters from installation to probability

The README lists the course contents as eleven numbered sections, and the sequence is the curriculum.

1. Working with R and with Python 2. Documentation with R Markdown 3. Data structures 4. Introduction to graphical representation 5. Data frames 6. Descriptive statistics with qualitative data 7. Descriptive statistics with ordinal data 8. Descriptive statistics with quantitative data 9. Descriptive statistics with grouped qualitative data 10. Introduction to linear regression 11. Introduction to probability distributions

The order matters. It starts with the tools, then with the language, then with the shape of the data, and only then with the statistics. The three descriptive statistics chapters are separated by data type, which is the pedagogical point of the course: qualitative, ordinal and quantitative data each need a different treatment, and the README says the course deepens the correct analysis of each.

The last two chapters, linear regression and probability distributions, are where the course reaches into what the README calls an introduction to machine learning techniques, with linear regression as the example. That is deliberately modest framing. The course is a foundation, and the README is honest that the advanced content lives elsewhere, in courses on machine learning with Python or RStudio and a data science course with Tidyverse and RStudio.

R and Python taught as parallel tracks

The unusual part of this course is that it teaches two languages at once, and the README is explicit about why.

It starts with the logistics, which for many students is the first obstacle: the installation and setup of R and RStudio, and of Anaconda Navigator for Python. Then there is a section on using R and Python as if they were a scientific calculator, including a review of functions, trigonometry and combinatorics. The point of that section is not the mathematics, which is assumed known, but the mechanics of evaluating expressions in both languages so the later content is not a fight with syntax.

The functional programming introduction is in R, from scratch, and the README says it is ideal for those who later want to take data analysis courses. The graphics section covers scatter plots, histograms, pie charts and box and whisker plots, and it does so in both R and Python with matplotlib, so the same statistical idea is shown in two ecosystems. Examples come in both languages throughout.

The reason to teach both is stated in the course's positioning. Students arriving at the advanced data analysis courses come from mathematics, engineering or computer science backgrounds, and each of those prepares them differently. Showing the same problem in R and in Python lets a student recognise which parts of the workflow are statistical and which are language specific.

The update-2026 branch and what changed

The most important line in the README is the announcement at the top, dated October 2026. There is a branch called update-2026 that carries the same course code adapted to current versions: R 4.5, pandas 3, NumPy 2 and matplotlib 3.11. The README links a file, CAMBIOS-2026.md, that explains what changed and why.

This is worth pausing on, because it is the difference between a course repository and an abandoned one. The failure mode for teaching content is not that the code is wrong, but that the code silently stops running. A script written against an old pandas or an old matplotlib API produces an error on the first call, and a student who cannot get past the first cell of a notebook stops trusting the course. Version pinning in the announcement is a direct answer to that.

The branch structure also tells you how to read the repository. The default branch is master, and the update is a parallel branch rather than a merge, so a student can compare the two or work from whichever matches their installed versions. The presence of a written changelog for the update, rather than a silent commit, is what makes the difference reviewable.

What the announcement does not say is how the two branches relate over time, whether the older content on master will be retired, or how often the update branch is refreshed. For anyone planning to teach from this content, those are the questions to put to the authors.

What the repository actually contains

The top level of the repository is short and describes the shape of the course.

There is CursoIntroR.Rproj, the RStudio project file that opens the course as a working project rather than a loose collection of scripts. There is a data/ directory, scripts/, ejercicios/ for the exercises, teoria/ for the theory content, and a seaborn-data/ directory that carries the example datasets used for plotting. A .gitignore sits alongside them, and the repository's primary language is recorded as HTML, which is consistent with R Markdown notebooks whose rendered output is the HTML.

The folder names mirror the course structure rather than the software structure. teoria/ is where the written content lives, scripts/ is where the worked examples live, and ejercicios/ is where the student attempts live. That separation is what lets a student run the same script the lecturer ran, and then change it.

The seaborn-data/ directory is a small but telling detail. Seaborn is a Python plotting library whose example datasets are widely reused, and shipping them with the course means the plotting examples run without a network fetch. For a course aimed at students who may not have a stable connection or who may be behind a proxy, that is a practical decision rather than a cosmetic one.

Where this is the wrong resource

If you want a statistics package for R to put into a project, this is not it. There is no gem to install, no versioned release, and the scripts are teaching content whose purpose is to be read, modified and run in class. The repository has no GitHub releases at all, so there is no version to depend on and no changelog of behaviour changes, only a branch structure and a written note about the 2026 update.

The licensing position is equally unclear and worth checking before you reuse anything. The licence field for the repository is unknown, and no licence file appears among the top level entries alongside the .gitignore, the RStudio project file, README.md, the data directories and the .gitignore. A course repository with no stated licence is not a permission statement, so if you intend to reuse a script in a commercial or published piece of work, that question needs an answer from the authors rather than an assumption.

The third limitation is the language. The content is in Spanish, and the video course it accompanies is a paid Udemy course in Spanish. For an English speaking learner the code is readable and the datasets are reusable, but the explanations, the exercises and the documentation are not.

Used for what it is, though, it is a well organised foundation. A student who works through eleven chapters covering data structures, data frames, the three data types and their descriptive statistics, linear regression and probability distributions, with the same scripts the instructor used, is getting a specific and useful thing.

Editorial conclusion

r-basic suits a Spanish speaking student or instructor who wants the exact scripts and exercises from a descriptive statistics course, and who wants a R and Python version of the same material rather than choosing one. It does not suit a production project, because it is course material rather than a maintained package, with no releases and no stated licence. Verify first which branch you are on, since the default master and the update-2026 branch target different versions of R, pandas, NumPy and matplotlib, and check the licence position yourself before reusing any script.

Frequently asked questions

What is in the r-basic repository?

It is the course content for a descriptive statistics course taught with R, RStudio and Python, with the theory, the worked scripts, the exercises and the datasets. The top level holds CursoIntroR.Rproj, data/, scripts/, ejercicios/, teoria/ and seaborn-data/.

Which versions of R and Python does the r-basic course target?

The README points to an update-2026 branch with the same course code adapted to current versions, listing R 4.5, pandas 3, NumPy 2 and matplotlib 3.11, with the changes explained in CAMBIOS-2026.md.

Do I need RStudio to work through the r-basic course content?

The repository ships a RStudio project file named CursoIntroR.Rproj, and the course covers the installation of R and RStudio along with Anaconda Navigator for Python, so the project is intended to be opened as a working RStudio project.

Is the r-basic course content available in both R and Python?

Yes. The README describes working with R and with Python as the first chapter, using both as a scientific calculator, and the graphics section covers scatter plots, histograms, pie charts and box plots with examples in R and with Python matplotlib, including a parallel section on linear regression.

What licence is the r-basic repository under?

The repository's licence is not stated, and no licence file appears among its top level entries, so check with the authors before reusing the scripts in published or commercial work.

Official sources

  1. Issues
  2. joanby/r-basic on GitHub
  3. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/joanby-r-basic.svg)](https://hysenlabs.com/projects/joanby-r-basic)

Was this useful?