It's much harder, so it's highly,
highly recommended that you just write a script that will reproduce the results.
The things you definitely have to avoid is any kind of vague instructions.
You can't just say I used software X, because if software X changes,
if there's a new version, or if it has a new function that's been added to it,
people won't be able to use it.
Make sure that you don't skip any steps, even the little tiny steps that you did,
oh, I had to merge column 1 and column 2 into one column and
then I ran the software on it.
You have to record all that if you don't have a script that will do it.
So there's the four components that you need, you're going to have to have the raw
data, the tidy data, the code book and the recipe.
And then in terms of sharing code,
there's a couple of different ways that you could do it.
One is you could just share raw files.
This is an example of a .R file.
It's just a raw R code file that you can share with people.
This can be good.
You should make sure that you comment all of the different code.
In other words, make sure you explain what each of the functions do and
how each of the functions work together.
But an even better way to do this is what's called literate programming.
An example in R is an R markdown document.
An example in Python would be an iPython notebook.
It's basically a document that mixes together writing and code so
the people can read what you did and then you can explain it in plain language,
follow that immediately by the code, followed by the results.
In the way that it's all sort of interwoven together, so that it's easy for
people to get looking at the data.
So when you're distributing your analysis for this class, or
for anything you do in the future, make sure you have a complete data set,
as well as either your R code or whatever kind of code you have, or
a literate programming document, if you can do that.