EeeeeWarne
Member
Now that Cube For Cambodia 2017 is in the database:
I also created the following visualisation of sub-7 3x3 averages over time by competitor:
Code:
[table]
[tr] [th]WCAID[/th] [th]Name [/th] [th]Number[/th] [/tr]
[tr] [td]2014PRID01[/td] [td]Ethan Pride[/td] [td]6[/td] [/tr]
[tr] [td]2010EVEL01[/td] [td]Joshua Evely[/td] [td]6[/td] [/tr]
[tr] [td]2009MCMA01[/td] [td]Tim McMahon[/td] [td]6[/td] [/tr]
[tr] [td]2013CHAP02[/td] [td]Sam Chaplin[/td] [td]5[/td] [/tr]
[tr] [td]2010MAJO01[/td] [td]Tim Major[/td] [td]5[/td] [/tr]
[tr] [td]2010JAVI01[/td] [td]Andrea Javier[/td] [td]5[/td] [/tr]
[tr] [td]2009BEAR01[/td] [td]Dene Beardsley[/td] [td]5[/td] [/tr]
[tr] [td]2015KHOK02[/td] [td]Zeshaan Khokhar[/td] [td]4[/td] [/tr]
[tr] [td]2014CHAN26[/td] [td]Alex Chan Cheuk Yee[/td] [td]4[/td] [/tr]
[tr] [td]2013WAIN01[/td] [td]Monty Wain[/td] [td]4[/td] [/tr]
[tr] [td]2012MCNE01[/td] [td]Jayden McNeill[/td] [td]4[/td] [/tr]
[tr] [td]2012HAMA03[/td] [td]Brock Hamann[/td] [td]4[/td] [/tr]
[tr] [td]2011HOLL04[/td] [td]Edward Hollingdale[/td] [td]4[/td] [/tr]
[tr] [td]2011AZZO01[/td] [td]Bryson Azzopardi[/td] [td]4[/td] [/tr]
[tr] [td]2010PROT01[/td] [td]Kirt Protacio[/td] [td]4[/td] [/tr]
[tr] [td]2010MACA01[/td] [td]Tomas Macadam[/td] [td]4[/td] [/tr]
[tr] [td]2010LIRA01[/td] [td]Ray Li[/td] [td]4[/td] [/tr]
[tr] [td]2009ZEMD01[/td] [td]Feliks Zemdegs[/td] [td]4[/td] [/tr]
[/table]
Code:
Results = Import[NotebookDirectory[] <> "WCA_export_Results.tsv"];
Competitions = Import[NotebookDirectory[] <> "WCA_export_Competitions.tsv"];
ResultsColNum[colname_] := ResultsColNum[colname] = Position[Results[[1, All]], colname] /. {{a_}} :> a;
CompColNum[colname_] := CompColNum[colname] = Position[Competitions[[1, All]], colname] /. {{a_}} :> a;
AusComps = Cases[Competitions, {_, _, _, x_, ___} /; MemberQ[{"Australia"}, x]];
AusCompsIds = AusComps[[2 ;;, CompColNum["id"]]];
AusCompResults = Cases[Results, {x_, ___} /; MemberQ[AusCompsIds, x]];
AusCompetitors = Union[AusCompResults[[All, ResultsColNum["personId"]]]];
CityToState[city_] := Switch[city, "Adelaide", "SA", "Brisbane", "QLD", "Canberra", "ACT",
"Canberra, Australian Capital Territory", "ACT",
"Ethelton, South Australia", "SA", "Fyshwick", "ACT",
"Kensington NSW", "NSW", "Kurri Kurri", "NSW", "Melbourne", "Vic",
"Newcastle, New South Wales", "NSW", "Niddrie", "Vic", "Perth",
"WA", "Perth, Western Australia", "WA", "Shepparton", "Vic",
"Sydney", "NSW", "Sydney NSW 2010", "NSW"];
Table[{AusComps[[i, CompColNum["id"]]], CityToState[AusComps[[i, CompColNum["cityName"]]]]}, {i,Length[AusComps]}] //. {compid_, ausstate_} :> (CompToState[compid] = ausstate);
Union[Table[{AusCompResults[[i, ResultsColNum["personName"]]], AusCompResults[[i, ResultsColNum["personId"]]]},
{i, Length[AusCompResults]}]] //. {name_, WCAID_} :> (IDToName[WCAID] = name);
UniqueIDStates = Union[Table[{AusCompResults[[i, ResultsColNum["personId"]]], CompToState[AusCompResults[[i, ResultsColNum["competitionId"]]]]}, {i, Length[AusCompResults]}]];
FinalTable = Sort[Table[{AusCompetitors[[k]], IDToName[AusCompetitors[[k]]], Count[UniqueIDStates, {id_, _} /;
MemberQ[{AusCompetitors[[k]]}, id]]}, {k, Length[AusCompetitors]}], #1[[3]] > #2[[3]] &];
Export[NotebookDirectory[] <> "AusStates.csv", Join[{{"WCAID", "Name", "Number"}}, FinalTable[[1 ;;
Total[Table[Count[FinalTable, {_, _, numstates_, ___} /; MemberQ[{i}, numstates]], {i, 4, Max[FinalTable[[2 ;;, 3]]]}]]]]]];
I also created the following visualisation of sub-7 3x3 averages over time by competitor:
Code:
Results = Import[NotebookDirectory[] <> "WCA_export_Results.tsv"];
Competitions = Import[NotebookDirectory[] <> "WCA_export_Competitions.tsv"];
ResultsColNum[colname_] := ResultsColNum[colname] = Position[Results[[1, All]], colname] /.{{a_}} :> a;
CompColNum[colname_] := CompColNum[colname] = Position[Competitions[[1, All]], colname] /. {{a_}} :> a;
Results3 = Cases[Results, {_, event_, ___} /; event == 333];
Sub7333Results = Cases[Results3, {_, _, _, _, _, avg_, ___} /; 0 < avg < 700];
Table[{Competitions[[i, CompColNum["id"]]], DateObject[{Competitions[[i, CompColNum["year"]]], Competitions[[i, CompColNum["endMonth"]]], Competitions[[i, CompColNum["endDay"]]]}]}, {i, 2, Length@Competitions}] //. {compid_, date_} :>(CompDate[compid] = date);
Sub7slim = Table[{CompDate[Sub7333Results[[i, 1]]], Sub7333Results[[i, 6]], Sub7333Results[[i, 8]]}, {i, Length@Sub7333Results}];
Sub7competitors = Union@Sub7slim[[All, 3]];
NumberOfSub7[date_] := Block[{sub7sbeforedate},sub7sbeforedate = Cases[Sub7slim, {when_, ___} /; TrueQ[when < date]];
Table[{Sub7competitors[[k]], Count[sub7sbeforedate, {_, _, id_} /; id == Sub7competitors[[k]]]}, {k, Length@Sub7competitors}]];
Sub7Chart[{year_, month_}] := BarChart[NumberOfSub7[DateObject[{year, month + 1}]][[All, 2]], ChartLegends -> NumberOfSub7[DateObject[{year, month}]][[All, 1]], ChartStyle -> 97, PlotLabel -> "Number of Sub 7 3x3x3 Averages at " <> ToString[month] <> "/" <>
ToString[year], PlotRange -> {All, {0, 20}}];
DatesToUse = Table[DateList[DateObject[{2013, 7} + {0, i}]][[1 ;; 2]], {i, 0, 46}];
animation = Table[Sub7Chart[DatesToUse[[k]]], {k, 1, Length@DatesToUse, 1}];
Export[NotebookDirectory[] <> "sub7s.gif", animation, "DisplayDurations" -> Flatten@Join[Table[1/3, {Length@animation - 1}], 1]];