Thanks Peter! I’ll make the top-level post later today.
How did you do that so quickly?
(I might have given the impression that I did this all during a weekend. This isn’t quite right—I spent 2-3 evenings, about 8 hours in total, going from the raw csv files to nice and compact .js function. Then I wrote the plotter on the weekend.)
I did this bit in Excel. If the money amounts were in column A, I insert three columns to the right: B for the currency (assumed USD unless otherwise specified), C for the min of the range given, D for the max. In column C, I started with =IF(ISNUMBER(A2), A2, “”) and dragged that formula down the column. Then I went through line by line, reading off any text entries, and turning them into currency/min/max (if a single value was reported, I entered it as the min, and left the max blank). currency, tab, number, enter, currency, tab, number, tab, number, enter, currency, tab...
It’s not a fun way to spend an evening (hence why I didn’t do the lifetime donations as well), but it doesn’t actually take that long.
Then: new column E for the AVERAGE(C2:D2) dragged down the column. Then I typed in the average currency conversions for 2013 into a new sheet and did a lookup (most users would use VLOOKUP I think, I used MATCH and OFFSET) to get my final USD numbers in column F.
Also, do you have the GitHub code for your plotter?
As a fierce partisan of the “_final_really_2” school of source control, I’m yet to learn how to GitHub. You can view the Javascript source easily enough though, and save it locally. (I suggest deleting the Google Analytics “i,s,o,g,r,a,m” script if you do this, or your browser might go looking for Google in your file system for a few seconds before plotting the graphs). The two scripts not in the HTML file itself are d3.min.js and ea_survey.data.js. (EDIT: can’t be bothered fixing the markdown underscores here.)
A zip file with my ready-to-run CSV file and the R script to turn it into a Javascript function is here.
Woah, this is an impressive data viz accomplishment! You should make it a top-level post—it’s cooler than a comment. :)
-
Also, …
How did you do that so quickly? We had to pay $60 to get it done manually via virtual assistants.
Thanks Peter! I’ll make the top-level post later today.
(I might have given the impression that I did this all during a weekend. This isn’t quite right—I spent 2-3 evenings, about 8 hours in total, going from the raw csv files to nice and compact .js function. Then I wrote the plotter on the weekend.)
I did this bit in Excel. If the money amounts were in column A, I insert three columns to the right: B for the currency (assumed USD unless otherwise specified), C for the min of the range given, D for the max. In column C, I started with =IF(ISNUMBER(A2), A2, “”) and dragged that formula down the column. Then I went through line by line, reading off any text entries, and turning them into currency/min/max (if a single value was reported, I entered it as the min, and left the max blank). currency, tab, number, enter, currency, tab, number, tab, number, enter, currency, tab...
It’s not a fun way to spend an evening (hence why I didn’t do the lifetime donations as well), but it doesn’t actually take that long.
Then: new column E for the AVERAGE(C2:D2) dragged down the column. Then I typed in the average currency conversions for 2013 into a new sheet and did a lookup (most users would use VLOOKUP I think, I used MATCH and OFFSET) to get my final USD numbers in column F.
As a fierce partisan of the “_final_really_2” school of source control, I’m yet to learn how to GitHub. You can view the Javascript source easily enough though, and save it locally. (I suggest deleting the Google Analytics “i,s,o,g,r,a,m” script if you do this, or your browser might go looking for Google in your file system for a few seconds before plotting the graphs). The two scripts not in the HTML file itself are d3.min.js and ea_survey.data.js. (EDIT: can’t be bothered fixing the markdown underscores here.)
A zip file with my ready-to-run CSV file and the R script to turn it into a Javascript function is here.
Well I admire your dedication to do it yourself and not use my conversions. :)
-
Aww man, you should learn. It’s tremendously useful. Not to mention a requirement for any programming job.