Connecting to SQL Server from R on a Mac with a Windows domain user

Connecting to an SQL Server instance as a Windows domain user is relatively straightforward when you run R on Windows, you have the right ODBC driver installed, and your network is setup properly. You normally don’t need to supply credentials, because the ODBC driver uses the built-in Windows authentication scheme. Assuming your odbcinst.ini file includes … Read more Connecting to SQL Server from R on a Mac with a Windows domain user

Learning Data Science: Understanding and Using k-means Clustering

A few months ago I published a quite popular post on Clustering the Bible… one well known clustering algorithm is k-means. If you want to learn how k-means works and how to apply it in a real-world example, read on… k-means (not to be confused with k-nearest neighbours or KNN: Teach R to read handwritten … Read more Learning Data Science: Understanding and Using k-means Clustering

BeautifulSoup vs. Rvest

This post will compare Python’s BeautifulSoup package to R’s rvest package for web scraping. We’ll also talk about additional functionality in rvest (that doesn’t exist in BeautifulSoup) in comparison to a couple of other Python packages (including pandas and RoboBrowser). Getting started BeautifulSoup and rvest both involve creating an object that we can use to … Read more BeautifulSoup vs. Rvest

“Real life” DAG simulation using the simMixedDAG package

I’ve discussed on several blog posts how Causal Inference involves making inference about unobserved quantities and distributions (e.g. we never observe \(Y|do(x)\)). That means we can’t benchmark different algorithms on Causal Inference tasks (e.g \(ATE/CATE\) estimation) the same way we do in ML because we don’t have any ground truth to benchmark against. In the absence … Read more “Real life” DAG simulation using the simMixedDAG package

It’s merely a matter of time, Dr. Watson!

How to correctly process time in R — dates, times, periods, durations, flux capacitor, time-traveling, and time intervals — what? I give you some help in the time jungle. The processing of time often appears weird. Photo by Jon Tyson on Unsplash Whenever I need to process dates and times in R (and other programming … Read more It’s merely a matter of time, Dr. Watson!

Gibbs sampling with incompatible conditionals

An interesting question (with no clear motivation) on X validated wondering why a Gibbs sampler produces NAs… Interesting because multi-layered: The attached R code indeed produces NAs because it calls the Negative Binomial Neg(x¹,p) random generator with a zero success parameter, x¹=0, which automatically returns NAs. This can be escaped by returning a one (1) … Read more Gibbs sampling with incompatible conditionals

useR!2019 Quizz: Test your knowledge of base R and ThinkR

At useR!2019 in Toulouse, ThinkR opened a quizz allowing to win a pipe knight. About a hundred of respondents won this Playmobil. In this blog post, we review the questions and respondents answers. We’ll see that the crowd as almost always right, but they do not know who the real R oracle is… The quizz … Read more useR!2019 Quizz: Test your knowledge of base R and ThinkR

Take your RStudio Hotkeys Online with a Text Expander

As a blogger and curriculum developer, I am often writing about R from a text editor instead of RStudio. I feared that working outside RStudio meant saying goodbye to fantastic hotkeys it provides. Isn’t there a way, I wondered, to set up a keyboard shortcut on my computer so that, for example, Alt + – … Read more Take your RStudio Hotkeys Online with a Text Expander

Customer Segmentation using RFM Analysis

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n”,”data”:[[“1″,”2″,”3″,”4″,”5″,”6″,”7″,”8″,”9″,”10″,”11″,”12″,”13″,”14″,”15″,”16″,”17″,”18″,”19″,”20″,”21″,”22″,”23″,”24″,”25″,”26″,”27″,”28″,”29″,”30″,”31″,”32″,”33″,”34″,”35″,”36″,”37″,”38″,”39″,”40″,”41″,”42″,”43″,”44″,”45″,”46″,”47″,”48″,”49″,”50″,”51″,”52″,”53″,”54″,”55″,”56″,”57″,”58″,”59″,”60″,”61″,”62″,”63″,”64″,”65″,”66″,”67″,”68″,”69″,”70″,”71″,”72″,”73″,”74″,”75″,”76″,”77″,”78″,”79″,”80″,”81″,”82″,”83″,”84″,”85″,”86″,”87″,”88″,”89″,”90″,”91″,”92″,”93″,”94″,”95″,”96″,”97″,”98″,”99″,”100″,”101″,”102″,”103″,”104″,”105″,”106″,”107″,”108″,”109″,”110″,”111″,”112″,”113″,”114″,”115″,”116″,”117″,”118″,”119″,”120″,”121″,”122″,”123″,”124″,”125″,”126″,”127″,”128″,”129″,”130″,”131″,”132″,”133″,”134″,”135″,”136″,”137″,”138″,”139″,”140″,”141″,”142″,”143″,”144″,”145″,”146″,”147″,”148″,”149″,”150″,”151″,”152″,”153″,”154″,”155″,”156″,”157″,”158″,”159″,”160″,”161″,”162″,”163″,”164″,”165″,”166″,”167″,”168″,”169″,”170″,”171″,”172″,”173″,”174″,”175″,”176″,”177″,”178″,”179″,”180″,”181″,”182″,”183″,”184″,”185″,”186″,”187″,”188″,”189″,”190″,”191″,”192″,”193″,”194″,”195″,”196″,”197″,”198″,”199″,”200″,”201″,”202″,”203″,”204″,”205″,”206″,”207″,”208″,”209″,”210″,”211″,”212″,”213″,”214″,”215″,”216″,”217″,”218″,”219″,”220″,”221″,”222″,”223″,”224″,”225″,”226″,”227″,”228″,”229″,”230″,”231″,”232″,”233″,”234″,”235″,”236″,”237″,”238″,”239″,”240″,”241″,”242″,”243″,”244″,”245″,”246″,”247″,”248″,”249″,”250″,”251″,”252″,”253″,”254″,”255″,”256″,”257″,”258″,”259″,”260″,”261″,”262″,”263″,”264″,”265″,”266″,”267″,”268″,”269″,”270″,”271″,”272″,”273″,”274″,”275″,”276″,”277″,”278″,”279″,”280″,”281″,”282″,”283″,”284″,”285″,”286″,”287″,”288″,”289″,”290″,”291″,”292″,”293″,”294″,”295″,”296″,”297″,”298″,”299″,”300″,”301″,”302″,”303″,”304″,”305″,”306″,”307″,”308″,”309″,”310″,”311″,”312″,”313″,”314″,”315″,”316″,”317″,”318″,”319″,”320″,”321″,”322″,”323″,”324″,”325″,”326″,”327″,”328″,”329″,”330″,”331″,”332″,”333″,”334″,”335″,”336″,”337″,”338″,”339″,”340″,”341″,”342″,”343″,”344″,”345″,”346″,”347″,”348″,”349″,”350″,”351″,”352″,”353″,”354″,”355″,”356″,”357″,”358″,”359″,”360″,”361″,”362″,”363″,”364″,”365″,”366″,”367″,”368″,”369″,”370″,”371″,”372″,”373″,”374″,”375″,”376″,”377″,”378″,”379″,”380″,”381″,”382″,”383″,”384″,”385″,”386″,”387″,”388″,”389″,”390″,”391″,”392″,”393″,”394″,”395″,”396″,”397″,”398″,”399″,”400″,”401″,”402″,”403″,”404″,”405″,”406″,”407″,”408″,”409″,”410″,”411″,”412″,”413″,”414″,”415″,”416″,”417″,”418″,”419″,”420″,”421″,”422″,”423″,”424″,”425″,”426″,”427″,”428″,”429″,”430″,”431″,”432″,”433″,”434″,”435″,”436″,”437″,”438″,”439″,”440″,”441″,”442″,”443″,”444″,”445″,”446″,”447″,”448″,”449″,”450″,”451″,”452″,”453″,”454″,”455″,”456″,”457″,”458″,”459″,”460″,”461″,”462″,”463″,”464″,”465″,”466″,”467″,”468″,”469″,”470″,”471″,”472″,”473″,”474″,”475″,”476″,”477″,”478″,”479″,”480″,”481″,”482″,”483″,”484″,”485″,”486″,”487″,”488″,”489″,”490″,”491″,”492″,”493″,”494″,”495″,”496″,”497″,”498″,”499″,”500″,”501″,”502″,”503″,”504″,”505″,”506″,”507″,”508″,”509″,”510″,”511″,”512″,”513″,”514″,”515″,”516″,”517″,”518″,”519″,”520″,”521″,”522″,”523″,”524″,”525″,”526″,”527″,”528″,”529″,”530″,”531″,”532″,”533″,”534″,”535″,”536″,”537″,”538″,”539″,”540″,”541″,”542″,”543″,”544″,”545″,”546″,”547″,”548″,”549″,”550″,”551″,”552″,”553″,”554″,”555″,”556″,”557″,”558″,”559″,”560″,”561″,”562″,”563″,”564″,”565″,”566″,”567″,”568″,”569″,”570″,”571″,”572″,”573″,”574″,”575″,”576″,”577″,”578″,”579″,”580″,”581″,”582″,”583″,”584″,”585″,”586″,”587″,”588″,”589″,”590″,”591″,”592″,”593″,”594″,”595″,”596″,”597″,”598″,”599″,”600″,”601″,”602″,”603″,”604″,”605″,”606″,”607″,”608″,”609″,”610″,”611″,”612″,”613″,”614″,”615″,”616″,”617″,”618″,”619″,”620″,”621″,”622″,”623″,”624″,”625″,”626″,”627″,”628″,”629″,”630″,”631″,”632″,”633″,”634″,”635″,”636″,”637″,”638″,”639″,”640″,”641″,”642″,”643″,”644″,”645″,”646″,”647″,”648″,”649″,”650″,”651″,”652″,”653″,”654″,”655″,”656″,”657″,”658″,”659″,”660″,”661″,”662″,”663″,”664″,”665″,”666″,”667″,”668″,”669″,”670″,”671″,”672″,”673″,”674″,”675″,”676″,”677″,”678″,”679″,”680″,”681″,”682″,”683″,”684″,”685″,”686″,”687″,”688″,”689″,”690″,”691″,”692″,”693″,”694″,”695″,”696″,”697″,”698″,”699″,”700″,”701″,”702″,”703″,”704″,”705″,”706″,”707″,”708″,”709″,”710″,”711″,”712″,”713″,”714″,”715″,”716″,”717″,”718″,”719″,”720″,”721″,”722″,”723″,”724″,”725″,”726″,”727″,”728″,”729″,”730″,”731″,”732″,”733″,”734″,”735″,”736″,”737″,”738″,”739″,”740″,”741″,”742″,”743″,”744″,”745″,”746″,”747″,”748″,”749″,”750″,”751″,”752″,”753″,”754″,”755″,”756″,”757″,”758″,”759″,”760″,”761″,”762″,”763″,”764″,”765″,”766″,”767″,”768″,”769″,”770″,”771″,”772″,”773″,”774″,”775″,”776″,”777″,”778″,”779″,”780″,”781″,”782″,”783″,”784″,”785″,”786″,”787″,”788″,”789″,”790″,”791″,”792″,”793″,”794″,”795″,”796″,”797″,”798″,”799″,”800″,”801″,”802″,”803″,”804″,”805″,”806″,”807″,”808″,”809″,”810″,”811″,”812″,”813″,”814″,”815″,”816″,”817″,”818″,”819″,”820″,”821″,”822″,”823″,”824″,”825″,”826″,”827″,”828″,”829″,”830″,”831″,”832″,”833″,”834″,”835″,”836″,”837″,”838″,”839″,”840″,”841″,”842″,”843″,”844″,”845″,”846″,”847″,”848″,”849″,”850″,”851″,”852″,”853″,”854″,”855″,”856″,”857″,”858″,”859″,”860″,”861″,”862″,”863″,”864″,”865″,”866″,”867″,”868″,”869″,”870″,”871″,”872″,”873″,”874″,”875″,”876″,”877″,”878″,”879″,”880″,”881″,”882″,”883″,”884″,”885″,”886″,”887″,”888″,”889″,”890″,”891″,”892″,”893″,”894″,”895″,”896″,”897″,”898″,”899″,”900″,”901″,”902″,”903″,”904″,”905″,”906″,”907″,”908″,”909″,”910″,”911″,”912″,”913″,”914″,”915″,”916″,”917″,”918″,”919″,”920″,”921″,”922″,”923″,”924″,”925″,”926″,”927″,”928″,”929″,”930″,”931″,”932″,”933″,”934″,”935″,”936″,”937″,”938″,”939″,”940″,”941″,”942″,”943″,”944″,”945″,”946″,”947″,”948″,”949″,”950″,”951″,”952″,”953″,”954″,”955″,”956″,”957″,”958″,”959″,”960″,”961″,”962″,”963″,”964″,”965″,”966″,”967″,”968″,”969″,”970″,”971″,”972″,”973″,”974″,”975″,”976″,”977″,”978″,”979″,”980″,”981″,”982″,”983″,”984″,”985″,”986″,”987″,”988″,”989″,”990″,”991″,”992″,”993″,”994″,”995”],[“Abbey O’Reilly DVM”,”Add Senger”,”Aden Lesch Sr.”,”Admiral Senger”,”Agness O’Keefe”,”Aileen Barton”,”Ailene Hermann”,”Aiyanna Bruen PhD”,”Ala Schmidt DDS”,”Alannah Borer”,”Alcide Rohan”,”Aleena Berge”,”Alessandra Heaney”,”Alethea Blanda”,”Alex Armstrong”,”Alex Bergnaum”,”Alexis Cormier”,”Alf Lueilwitz”,”Alferd Ziemann”,”Alfred Metz”,”Almedia Yundt”,”Alpheus Wilkinson”,”Alphonse Champlin V”,”Alton Wintheiser”,”Alvah Bogisich”,”Alvera Balistreri”,”Alwina Wilkinson DDS”,”Alyssia Hickle”,”Amina Renner”,”Amit Langworth”,”Anabel Jakubowski PhD”,”Anastasia Howe”,”Anderson … Read more Customer Segmentation using RFM Analysis

Many similar models – Part 2: Automate model fitting with purrr::map() loops

When we have many similar models to fit, automating at least some portions of the task can be a real time saver. In my last post I demonstrated how to make a function for model fitting. Once you have made such a function it’s possible to loop through variable names and fit a model for … Read more Many similar models – Part 2: Automate model fitting with purrr::map() loops

Improve GRNN by Weighting

In the post (https://statcompute.wordpress.com/2019/07/14/yet-another-r-package-for-general-regression-neural-network), several advantages of General Regression Neural Network (GRNN) have been discussed. However, as pointed out by Specht, a major weakness of GRNN is the high computational cost required for a GRNN to generate predicted values based on a new input matrix due to its unique network structure, e.g. the number of … Read more Improve GRNN by Weighting

Reversi in R – Part 1: Bare Bones

In this post, I showcase a bare-bones point-and-click implementation of the classic board Reversi (also called Othello*) in the R programming language. R is typically used for more serious, statistical endeavors, but it works reasonably well for more playful projects. Building a classic game like this is an excellent high-school level introduction to programming, as … Read more Reversi in R – Part 1: Bare Bones

What Data Tells Us About the World’s Wealthiest

In the spring semester of my freshman year at Harvard, I took a class called “Using Big Data to Solve Economic and Social Problems.” One of the most interesting subjects we explored was equality of opportunity in the United States. We learned that children’s chances of earning more than their parents is not uniform: it … Read more What Data Tells Us About the World’s Wealthiest

Big News: Porting vtreat to Python

We at Win-Vector LLC have some big news. We are finally porting a streamlined version of our R vtreat variable preparation package to Python. vtreat is a great system for preparing messy data for suprevised machine learning. The new implementation is based on Pandas, and we are experimenting with pushing the sklearn.pipeline.Pipeline APIs to their … Read more Big News: Porting vtreat to Python

Program Evaluation: Difference-in-differences in R

Category Tags Regression analysis is one of the most demanding machine learning methods in 2019. One group of regression analysis for measuring effects and to evaluate a policy program is Difference-in-Difference. This method is well suited for benchmarking and finding improvements for optimization in organizations. It can, therefore, be used to design organizations so they … Read more Program Evaluation: Difference-in-differences in R

My useR! 2019 Highlights & Experience: Shiny, R Community, {packages}, and more!

The useR! Conference was held in Toulouse, France and for me thiswas my second useR! after my first in Brisbane last year. This timearound I wanted to write about my experiences and some highlightssimilar to my post on the RStudio::Conference 2019 & Tidyverse DevDayearlier this year. This blog post will be divided into 4 sections: … Read more My useR! 2019 Highlights & Experience: Shiny, R Community, {packages}, and more!

GEDCOM Reader for the R Language: Analysing Family History

Understanding who you are is strongly related to understanding your family history. Discovering ancestors is now a popular hobby, as many archives are available on the internet. The GEDCOM format provides a standardised way to store information about ancestors. This article shows how to develop a GEDCOM reader using the R language. Download the Code … Read more GEDCOM Reader for the R Language: Analysing Family History

Impressions from useR! 2019

This year, the greater R community gathering useR! took place in sunny Toulouse in July, bringing together over 1000 practitioners from both academia and industry. The event spanned over five days, including: a tidyverse day one full day of workshops 6 keynotes and a few sponsor talks contributed talks and lightning talks over 6 parallel … Read more Impressions from useR! 2019

Learn Principle Component Analysis in R

Hi there! Welcome to my blog on pricipal component analysis in R. Purpose: PCA is a dimensionality rediction technique; meaning that each additional variable you’re including in your modeling process represents a dimension. What does it do?: In terms of what PCA actually does, it takes a dataset with high dimensionality, and reduces them down … Read more Learn Principle Component Analysis in R

Germination data and time-to-event methods: comparing germination curves

Very often, seed scientists need to compare the germination behaviour of different seed populations, e.g., different plant species, or one single plant species submitted to different temperatures, light conditions, priming treatments and so on. How should such a comparison be performed? Let’s take a practical approach and start from an appropriate example: a few years … Read more Germination data and time-to-event methods: comparing germination curves

Generating a Gallery of Visualizations for a Static Website (using R)

While I was browsing the website of fellow R blogger Ryo Nakagawara, Iwas intrigued by his “Visualizations” page.The concept of creating an online “portfolio” is not novel , butI hadn’t thought to make one as a compilation of my own work (from blog posts)…until now 😄. I should state a couple of caveats/notes for anyone … Read more Generating a Gallery of Visualizations for a Static Website (using R)

Watch keynote presentations from the useR!2019 conference

The keynote presentations from last week’s useR!2019 conference in Toulouse are now available for everyone to view on YouTube. (The regular talks were also recorded and video should follow soon, and slides for most talks are available for download now at the conference website.) Here are links to the videos, indexed to the start of … Read more Watch keynote presentations from the useR!2019 conference

Time series forecast cross-validation by @ellis2013nz

Time series cross-validation is important part of the toolkit for good evaluation of forecasting models. forecast::tsCV makes it straightforward to implement, even with different combinations of explanatory regressors in the different candidate models for evaluation. Suprious correlation between time series is a well documented and mocked problem, with Tyler Vigen’s educational website on the topic … Read more Time series forecast cross-validation by @ellis2013nz

How to make 3D Plots in R (from 2D Plots of ggplot2)

Category Tags 3D Plots built in the right way for the right purpose are always stunning. In this article, we’ll see how to make stunning 3D plots with R using ggplot2 and rayshader . While ggplot2 might be familiar to anyone in Data science, rayshader may not. So, let’s start with a small introduction to … Read more How to make 3D Plots in R (from 2D Plots of ggplot2)

What NOT to do when building a shiny app (lessons learned the hard way)

I’ve been building R shiny apps for a while now, and ever since I started working with shiny, it has significantly increased the set of services I offer my clients. Here’s a documentations of some of the many lessons I learned in previous projects I did. Hopefully, others can avoid them in the future. Background … Read more What NOT to do when building a shiny app (lessons learned the hard way)

Dotplot – the single most useful yet largely neglected dataviz type

I have to confess that the core message of this post is not really a fresh saying. But if I was given a chance to deliver one dataviz advise to every (ha-ha-ha) listening mind, I’d choose this: forget multi-category bar plots and use dotplots instead. I was converted several years ago after reading this brilliant … Read more Dotplot – the single most useful yet largely neglected dataviz type

Statistical matching, or when one single data source is not enough

I was recently asked how to go about matching several datasets where different samples ofindividuals were interviewed. This sounds like a big problem; say that you have dataset A and B,and that A contain one sample of individuals, and B another sample of individuals, then how couldyou possibly match the datasets? Matching datasets requires a … Read more Statistical matching, or when one single data source is not enough

Wordcloud of conference abstracts – FOSS4G Edinburgh

I’m helping run a conference this September – FOSS4GUK. To help promote the event I’ve created a wordcloud of conference abstracts, in R! The conference is taking place in Edinburgh, Scotland at Dynamic Earth. It’s focused on free and open source software for geospatial (FOSS4G), as such is full stack. Everything from backend databases, ETL, … Read more Wordcloud of conference abstracts – FOSS4G Edinburgh

rOpenSci Hiring for New Position in Statistical Software Testing and Peer Review

Are you passionate about statistical methods and software? If so we would love for you to join our team to dig deep into the world of statistical software packages. You’ll develop standards for evaluating and reviewing statistical tools, publish, and work closely with an international team of experts to set up a new software review … Read more rOpenSci Hiring for New Position in Statistical Software Testing and Peer Review

Processing satellite image collections in R with the gdalcubes package

[view rawRmd] The problem Scientists working with collections and time series of satellite imageryquickly run into some of the following problems: Images from different areas of the world have different spatialreference systems (e.g., UTM zones). The pixel size of a single image sometimes differs among itsspectral bands / variables. Spatially adjacent image tiles often overlap. … Read more Processing satellite image collections in R with the gdalcubes package

Plotting Bayes Factors for multiple comparisons using ggsignif

This week my post is relatively short and very focused. What makes it interesting(at least to me) is whether it will be seen as a useful “bridge” betweenfrequentist methods and bayesian methods or as an abomination to both! There’ssome reasonably decent code and explanation in this post but before I spend muchmore time on the … Read more Plotting Bayes Factors for multiple comparisons using ggsignif

RStudio Trainer Directory Launches

Several dozen people have taken part in RStudio’s instructor training and certification program since it was announced earlier this year. Since our last update, many of them have completed certification, so we are pleased to announce a preview of our trainers’ directory. Each of the people listed there has completed an exam on modern evidence-based … Read more RStudio Trainer Directory Launches

Combining momentum and value into a simple strategy to achieve higher returns

In this post I’ll introduce a simple investing strategy that is well diversified and has been shown to work across different markets. In short, buying cheap and uptrending stocks has historically led to notably higher returns. The strategy is a combination of these two different investment styles, value and momentum. In a previous post I explained … Read more Combining momentum and value into a simple strategy to achieve higher returns

An Ad-hoc Method for Calibrating Uncalibrated Models

In the previous article in this series, we showed that common ensemble models like random forest and gradient boosting are uncalibrated: they are not guaranteed to estimate aggregates or rollups of the data in an unbiased way. However, they can be preferable to calibrated models such as linear or generalized linear regression, when they make … Read more An Ad-hoc Method for Calibrating Uncalibrated Models

101 Machine Learning Algorithms for Data Science with Cheat Sheets

Think of this as the one-stop-shop/dictionary/directory for your machine learning algorithms. The algorithms have been sorted into 9 groups: Anomaly Detection, Association Rule Learning, Classification, Clustering, Dimensional Reduction, Ensemble, Neural Networks, Regression, Regularization. In this post, you’ll find 101 machine learning algorithms, including useful infographics to help you know when to use each one (if … Read more 101 Machine Learning Algorithms for Data Science with Cheat Sheets

shinymeta — a revolution for reproducibility

Related R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more… If you got this far, why not subscribe for updates from … Read more shinymeta — a revolution for reproducibility

Aggregating spatial data with the grainchanger package

The grainchanger package provides functionality for data aggregation to a coarser resolution via moving-window or direct methods. Why do we need new methods for data aggregation? As landscape ecologists and macroecologists, we often need to aggregate data in order to harmonise datasets. In doing so, we often lose a lot of information about the spatial … Read more Aggregating spatial data with the grainchanger package

Estimating treatment effects (and ICCs) for stepped-wedge designs

In the last two posts, I introduced the notion of time-varying intra-cluster correlations in the context of stepped-wedge study designs. (See here and here). Though I generated lots of data for those posts, I didn’t fit any models to see if I could recover the estimates and any underlying assumptions. That’s what I am doing … Read more Estimating treatment effects (and ICCs) for stepped-wedge designs

Pricing floating legs of interest rate swaps

In this post we will close the trilogy on (old style) swap pricing. In particular, we will look at how downloading the data for the variable rate needed to calculate the variable leg accrual. Part 1gave the general idea behind tidy pricing interest rate swaps using a 7 linespipe Part 2went much more into detail … Read more Pricing floating legs of interest rate swaps

Bojack Horseman and Tidy Data Principles (Part 1)

After reading The Life Changing Magic of Tidying Text and A tidy text analysis of Rick and Morty I wanted to do something similar for Rick and Morty and I did. Now I’m doing something similar for Bojack Horseman. In this post I’ll focus on the Tidy Data principles. However, here is the Github repo … Read more Bojack Horseman and Tidy Data Principles (Part 1)