
Explore Python and R for scientific research, mastering data analysis, visualization, statistical analysis, and machine learning from basics to advanced, with real-world applications in climate and air quality.
Install Miniconda and Python 3 on Windows by downloading Miniconda and running the installer. Choose just me, set a location, and register Miniconda as the default Python 3.9.
Learn to create and manage python environments with conda, activate them, and install packages using conda and pip, including numpy and seaborn.
Install and run Jupyter Notebook to write and execute Python code using Miniconda and conda. Then install notebook extensions such as code pretty print, spell checker, and code folding.
Learn how to run Python programs from the command line, use interactive mode, and create and execute simple scripts saved as .py files.
Explore managing the working directory in R, using getwd and setwd, absolute and relative paths, creating and deleting files, and listing csv files across subdirectories.
Explore the types of data in Python, including integers, floats, complex numbers, strings, and None, and learn about dynamically typed language and core containers: tuple, list, set, dictionary, and range.
Master Python control flow driven by loops, conditional statements, and function calls. Practice if, elif, else, while, and for loops with spaces for indentation and print statements.
Explore how Python functions work as reusable blocks of code, learn to define and call functions with arguments, and see examples that print messages like hello from Python.
Discover how to create and import Python modules, use built-in and installed packages like platform and matplotlib.pyplot, and run simple module examples.
Learn how to use built-in, package-based, and user-defined functions in R, understand function syntax with name, arguments, and body, and apply examples like max, min, mean, plot, and mile-to-kilometre conversion.
Explore R data types including numeric, factor, and character, and learn to create vectors with c, convert types, build data frames, and add columns with the dollar operator and cbind.
Learn how to manage R packages: install, load with library, remove, and update them; use ggplot2 as a grammar of graphics example and handle multiple packages at once.
Learn Python file handling with the open function and modes r, a, w, and x to create, read, write, and append or update data in files like data.txt, with examples.
Learn to manage directories in Python using the os module, including getting and changing the current working directory, listing files, expanding user paths, and checking existence.
Learn to import data into R for research using csv, sav, and xls formats with functions like read.csv, read.table, and read.delim, and view data tables.
Learn to process annual weather data for station 46210 by importing, handling dates, and grouping by year to compute means and sums, visualize results, and export station-year CSVs for 2014–2023.
Export data using write.csv for comma separated files and write.csv2 for semicolon separated files, save as text with write.table, and reload with load or readrds to reconstruct objects.
Learn data manipulation in R with tidyverse and dplyr: download the dataset, rename column names to lowercase, and use piping to group, summarize mean crime, and filter and select variables.
Master data manipulation with mutate to create new columns (x, y, z) and position them, reshape data between wide and long formats, and perform joins like full, left, and anti.
Install numpy via Miniconda and use numpy for scientific computation with arrays, max, min, mean, median, and Pearson correlation; load data with loadtxt and handle nan values in Jupyter notebooks.
Explore the SciPy library in Python for scientific analysis and data handling. Install SciPy with pip or miniconda, then apply integration, optimization, interpolation, and SciPy stats in Jupyter notebooks.
Explore descriptive statistics and inferential tests in Python, computing mean, median, variance, standard deviation, and t-tests; analyze correlations, regression, and ANOVA with numpy, scipy, pandas, and statsmodels.
Explore how to compute zonal statistics in Python for geospatial analysis, summarizing raster data by zones defined in shapefiles, including mean and standard deviation, and export results to csv.
Explore descriptive statistics in R using a csv dataset, clean column names, and compute range, median, quantiles, describe (psych), tapply, table, and chi-square tests with na.rm.
Explore how to compute correlations in R, compare Pearson, Spearman, and Kendall methods, interpret p-values and covariance, and distinguish association from causation.
Learn to perform one-way and two-way ANOVA in R, interpret f and p values, and use Tukey HSD with data frames and ggplot2 visuals.
Explore t.test in R for comparing means, including one-sample, independent (unpaired), and paired tests, noting default assumption of equal variance, and examine t values, p values, and degrees of freedom.
Learn to perform multiple linear regression in R using the lm model, load and rename data with tidyverse, and interpret r-squared, adjusted r-squared, p-values, and the f-statistic.
Plot in Python with matplotlib and seaborn, creating line, bar, pie, scatter, box, histogram, animated, and cat plots. Use Jupyter notebooks to load datasets and generate time-series plots.
Explore Seaborn and Matplotlib plotting techniques in Python, including heatmaps, swarm and bar plots, stacked bars, pairplots, 3D scatter plots, and color palettes for scientific data visualization.
Explore python plotting techniques, including pie charts, box plots, histograms, animated plots with publications and citations, and cat plots in seaborn using Gapminder and Titanic datasets.
Explore basic plotting in R with the datasets package and TR data, creating histograms, bar plots, box plots, scatter plots, line plots, and a pie chart.
Learn to create advanced animated graphs in R using ggplot and gganimate, including timelines, maps, and pie charts animated by month and year via transitions.
Learn to create comprehensive data reports in R using the Data Explorer package. Generate HTML reports with plots such as bar, box, correlations, histogram, PCA, QQ, and scatter from datasets.
Create windrose plots in R using the open air and Roadmate packages to analyze NOAA data from 2014–2023, with yearly, monthly, and seasonal aggregations, identifying dominant directions and speeds.
Build a neural network for the iris data with one-hot encoding, two dense layers (relu and softmax), trained with Adam and evaluated on training and test sets.
Fine-tune a sequential neural network by adding dense layers with ReLU and softmax activations, training with categorical cross-entropy and Adam, and evaluating on iris data.
Import and clean a lai and lst dataset, visualize relationships with plots, and run simple linear regression to reveal r^2 values of 0.06 for China and 0.25 for India.
Perform ordinary least squares regression in Python, assess model fit with R-squared and F-statistic, check normality with Shapiro-Wilk, and visualize trends using histograms, QQ plots, and timeline plots.
Analyze India's air quality data with machine learning using Python tools like pandas, numpy, matplotlib, seaborn, and scikit-learn; clean, describe, and visualize pollutants such as SO2, NO2, and SPM.
Remove outliers with the iqr method, group by state to compute pollutant means, and impute missing values before deriving aqi and pollutant indices in India's air quality data.
Perform exploratory data analysis on India's air quality data, visualize relationships among pollutants, and build linear regression models to predict AQI using methods like heatmaps and rake plots.
Analyze India’s air quality data with machine learning, addressing multicollinearity via VIF, cross-validation, ridge regression, and stepwise feature selection to predict AQI and assess model robustness.
Explore geospatial and climate data analysis with Python, using daily gridded observation data, NOAA, CPC, and CMIP6 datasets. Learn about spatial and temporal resolution, dead time anomaly, and ensemble member.
Explore how to load, concatenate, and analyze 2011–2014 climate data with xarray, compute monthly precipitation sums and annual precipitation, create monthly subplots, and save outputs as netCDF.
Analyze climate data by interpolating datasets with different resolutions, converting Kelvin to Celsius, normalizing longitudes to 0–360, and applying a 50-day moving average for Texas regions.
Analyze seasonal climate forecasts with Python to compute anomalies, visualize global and regional trends, and compare Cmip6 historical and future projections under ssp585.
Learn to use Python to compute remote sensing indices from Landsat 8 imagery, including NDVI, NDBI, and NBR, export NBR as GeoTIFF, and visualize burn severity for environmental change insights.
Review your accomplishments in environment setup, programming fundamentals, data handling, scientific computing, data visualization, AI basics, and climate case studies, and apply your Python and R skills to future research.
Python or R? Learn both, and stop guessing.
Researchers waste a lot of time on this question. One colleague swears by R, another by Python, and the honest answer is that each is better at different parts of the job. This course teaches you both from installation onwards, and shows you where each one earns its place.
You will start by setting up Miniconda, Jupyter and R, then cover the fundamentals in parallel - data types, control flow, functions, modules and packages in both languages. From there into the work researchers actually do: file handling and directories in Python, importing, exporting and manipulating data in R.
The statistics your research needs
NumPy and SciPy in Python, and in R the tests you will be asked for in review: descriptive statistics, correlations, t-tests, ANOVA and multiple linear regression. Then visualisation - three lectures on Matplotlib, plus basic and advanced plotting in R, animated graphs, report generation, and wind rose plots (with a homework exercise using real data from the Erbil station).
Three full case studies
Leaf Area Index and Land Surface Temperature from satellite data
Analysing India's air quality data with machine learning, across four lectures
Climate data analysis, across four lectures
There is also an introduction to artificial intelligence, deep learning in R, geospatial data processing in Python, and calculating remote sensing indices.
What you get
Over five hours across 56 lectures, taught in both languages
Seven quizzes and a practice test
Real research data, not toy examples
Code you can adapt straight into your own work
Before you enrol
No programming experience is needed - both languages start from installation. The installation lectures are recorded on Windows, though the code runs on macOS and Linux as well. Everything used is free.
Taught by Dr. Azad Rasul, a geospatial data scientist and Assistant Professor, with over 150,000 students enrolled across his Udemy courses.
Enrol now and start analysing your research data in the language that suits it.