As someone who works with data all day long, it was only a matter of time before I started using the techniques I apply at work to my own personal eBird data. For years, I had been tracking various lists and views of my life lists using conditional formatting in Excel. Over the past few years, however, my data science skills have grown and it was only a matter of time before I ditched Excel and processed my lists with more advanced and user-friendly tools, such as Tableau.
If you haven’t seen or heard of Tableau before, it’s a popular tool for creating visual analytics, typically on business data for a field known as Business Intelligence. However, it’s not structured specifically for business data and can be re-purposed for any data that is complex and multivariate. Most of all, it’s fast. Very fast. The kinds of visualizations that can be produced in seconds or minutes with Tableau would often take days with Excel or hours with R.
Getting eBird data into Tableau requires a little pre-processing, since the fields included with your eBird data export (available by clicking Download my Data on the My eBird page) don’t come with the taxonomic information necessary to get accurate unique species totals. The following R script handles this. You’ll need to download the latest taxonomy from eBird first.
#read in my ebird data
my_ebird <- read.csv("../ebird_1427141229484/MyEBirdData.csv", stringsAsFactors=FALSE)
#read in taxonomy and replace REPORT_AS field with SPECIES_CODE where REPORT_AS is empty
ebird_v1_55 <- data.table(read.csv("../ebird_taxonomy_v1_55.csv", stringsAsFactors=FALSE))
ebird_v1_55[REPORT_AS == "", REPORT_AS:=SPECIES_CODE,]
#merge the taxonomy onto my ebird using Common Name
my_ebird_w_taxa <- data.table(merge(my_ebird, ebird_v1_55, by.x='Common.Name', by.y='PRIMARY_COM_NAME', all.x=TRUE))
#write out csv
Once you've got the taxonomy onto your MyEbird file, the resulting .csv file is almost ready to go. In Tableau, you'll want to make sure you filter by the Category field and select: species, issf, and domestic. Tableau has a significant learning curve, but if you've got a propensity for visualizations and data, it should come pretty quickly. They also provide quite a few free tutorials and learning resources. Everything I've done with Tableau I've picked up from their resources. Below are a couple of my favorite quick views I've put together. Most of all, these examples don't even begin to highlight the interactive capabilities of the software. Linking between views can create some really powerful visualizations.
One example I've put together is my species total by month and year. I've dual encoded it with color and size to make the patterns really pop. Really quickly, it's easy to see that May is the month I most often see the most birds. The anomalous months are often those during which I've traveled quite a bit. The height of grad school shows up as some rather paltry or absent months in 2008. And, my intentional attempt to see at least 100 birds a month for year is quite visible from August 2011 through July 2012.
The other view I've enjoyed lately is seeing my unique checklists by hour of the day across recent years. Here, I can see my changes in birding behavior through daily time and yearly time. In 2007, I was working on a field project and was up early. Again, 2008 was grad school and less birding. And in the years since, my birding has been starting later and later, likely due to the demands of my young daughter. I'm almost to the point that I'm a lunch break birder!
Tableau has a lot to offer anyone with data, eBirders too. Give it a try with your own data and if you have any questions or successes, get in touch. I'd love to help or see what you've made.