// Numbas version: finer_feedback_settings {"metadata": {"licence": "Creative Commons Attribution 4.0 International", "description": ""}, "type": "exam", "percentPass": 0, "feedback": {"intro": "", "advicethreshold": 0, "showactualmark": true, "feedbackmessages": [], "showanswerstate": true, "allowrevealanswer": true, "showtotalmark": true, "enterreviewmodeimmediately": true, "showexpectedanswerswhen": "inreview", "showpartfeedbackmessageswhen": "always", "showactualmarkwhen": "always", "showtotalmarkwhen": "always", "showanswerstatewhen": "always", "showadvicewhen": "never"}, "question_groups": [{"pickingStrategy": "all-ordered", "name": "Group", "pickQuestions": 1, "questions": [{"name": "Apply Friedman test", "extensions": ["stats"], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Newcastle University Mathematics and Statistics", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/697/"}], "variablesTest": {"condition": "", "maxRuns": 100}, "variables": {"tol": {"templateType": "anything", "group": "Ungrouped variables", "definition": "0.01", "description": "", "name": "tol"}, "r1": {"templateType": "anything", "group": "Ungrouped variables", "definition": "map(repeat(round(normalsample(mu[x],sig)),5),x,0..m-1)", "description": "", "name": "r1"}, "v": {"templateType": "anything", "group": "Ungrouped variables", "definition": "switch(fr>=16.266,[1,0,0,0,0],fr >=11.345,[0,1,0,0,0],fr>=7.815,[0,0,1,0,0],fr>=6.251,[0,0,0,1,0],[0,0,0,0,1])", "description": "", "name": "v"}, "sig": {"templateType": "anything", "group": "Ungrouped variables", "definition": "random(3..7#0.2)", "description": "", "name": "sig"}, "sun": {"templateType": "anything", "group": "Ungrouped variables", "definition": "['A','B','C','D','E']", "description": "", "name": "sun"}, "surk": {"templateType": "anything", "group": "Ungrouped variables", "definition": "map(sum(list(srk)[x]),x,0..3)", "description": "", "name": "surk"}, "rs": {"templateType": "anything", "group": "Ungrouped variables", "definition": "matrix(map(rep(rk(r[x])[4..8]),x,0..4))", "description": "", "name": "rs"}, "n": {"templateType": "anything", "group": "Ungrouped variables", "definition": "5", "description": "", "name": "n"}, "mu": {"templateType": "anything", "group": "Ungrouped variables", "definition": "[random(30..40),random(35..40),random(25..35),random(40..45),random(20..40)]", "description": "", "name": "mu"}, "fr1": {"templateType": "anything", "group": "Ungrouped variables", "definition": "12/(n*m*(m+1))*sum(map(surk[x]^2,x,0..3))-3*n*(m+1)", "description": "", "name": "fr1"}, "disptab": {"templateType": "anything", "group": "Ungrouped variables", "definition": "map(if(scorr[x]=0,'',table(tiesplus[x],['Subject $'+sun[x]+'$','Number of Ties','Contribution','Value'])),x,0..4)", "description": "", "name": "disptab"}, "dec": {"templateType": "anything", "group": "Ungrouped variables", "definition": "switch(v[0]=1,'we very strongly reject the null hypothesis at the $0.11\\\\%$ level and conclude that the suncreams differ in their effect.',\n v[1]=1,'we strongly reject the null hypothesis at the $1\\\\%$ level and conclude that the suncreams differ in their effect.',\n v[2]=1,'we have evidence to reject the null hypothesis at the $5\\\\%$ level and conclude that the suncreams differ in their effect.',\n v[3]=1,'we only have weak evidence against the null hypothesis at the $10\\\\%$ level and we do not reject it',\n 'there is no evidence against the null hypothesis and we accept it.')", "description": "", "name": "dec"}, "vties": {"templateType": "anything", "group": "Ungrouped variables", "definition": "map(map(round(rs[y][x]/(x+1))*(((x+1)^3-(x+1))/(n*(m^3-m))),x,1..abs(rs[y])-1),y,0..4)\n", "description": "", "name": "vties"}, "tieslist": {"templateType": "anything", "group": "Ungrouped variables", "definition": "map(map(round(rs[y][x]/(x+1)),x,1..m-1),y,0..4)\n", "description": "", "name": "tieslist"}, "nties": {"templateType": "anything", "group": "Ungrouped variables", "definition": "map(sum(tieslist[x]),x,0..4)", "description": "", "name": "nties"}, "mess1": {"templateType": "anything", "group": "Ungrouped variables", "definition": "if(tscorr=0, '(no ties, so $T=0$).','')", "description": "", "name": "mess1"}, "m": {"templateType": "anything", "group": "Ungrouped variables", "definition": "4", "description": "", "name": "m"}, "scorr": {"templateType": "anything", "group": "Ungrouped variables", "definition": "map(sum(vties[x]),x,0..4)", "description": "", "name": "scorr"}, "fr": {"templateType": "anything", "group": "Ungrouped variables", "definition": "precround(fr1/(1-tscorr),2)", "description": "", "name": "fr"}, "tscorr": {"templateType": "anything", "group": "Ungrouped variables", "definition": "sum(scorr)", "description": "", "name": "tscorr"}, "tiesplus": {"templateType": "anything", "group": "Ungrouped variables", "definition": "map(map(['Ties of size $'+(x+1)+'$.','$'+round(rs[y][x]/(x+1))+'$', '$\\\\,\\\\,\\\\,\\\\,\\\\, \\\\displaystyle '+round(rs[y][x]/(x+1))+'\\\\times \\\\displaystyle \\\\frac{'+(x+1)+'^3-'+(x+1)+'}{'+n+'('+m+'^3-'+m+')}$','$'+vties[y][x-1]+'$'],x,1..abs(rs[y])-1),y,0..4)", "description": "", "name": "tiesplus"}, "r": {"templateType": "anything", "group": "Ungrouped variables", "definition": "list(transpose(matrix(r1)))", "description": "", "name": "r"}, "rnk": {"templateType": "anything", "group": "Ungrouped variables", "definition": "matrix(map(rk(r[x])[0..4],x,0..4))", "description": "", "name": "rnk"}, "rt": {"templateType": "anything", "group": "Ungrouped variables", "definition": "list(transpose(matrix(r)))", "description": "", "name": "rt"}, "messtab": {"templateType": "anything", "group": "Ungrouped variables", "definition": "if(tscorr=0, 'that there are no ties.','that there are ties as follows:')", "description": "", "name": "messtab"}, "srk": {"templateType": "anything", "group": "Ungrouped variables", "definition": "transpose((rnk))", "description": "", "name": "srk"}}, "ungrouped_variables": ["tieslist", "vties", "rt", "scorr", "rs", "sun", "sig", "tol", "disptab", "rnk", "tiesplus", "fr", "surk", "mess1", "messtab", "nties", "tscorr", "r1", "srk", "m", "n", "mu", "fr1", "r", "v", "dec"], "question_groups": [{"pickingStrategy": "all-ordered", "questions": [], "name": "", "pickQuestions": 0}], "functions": {"rep": {"type": "list", "language": "javascript", "definition": "/*the list a contains natural numbers up to a maximum value M. \n This function outputs an array where arr[j]/(j+1)=number of ties of size j+1*/\n var b=a.sort(function(c,d){return c-d});\n var M=b[a.length-1];\n var arr=[];\n for(var j=1;j<=M;j++){\nvar s=0;\nfor(var i=0;il[i]){s+=1;}\n else\nif(l[j]==l[i]){c+=1;}\n}\n out[j]=(2*s+c+1)/2;\n rep[j]=c;\n }\n return out.concat(rep);\n\n", "parameters": [["l", "list"]]}}, "variable_groups": [], "showQuestionGroupNames": false, "parts": [{"scripts": {}, "gaps": [{"correctAnswerFraction": false, "showPrecisionHint": false, "allowFractions": false, "scripts": {}, "type": "numberentry", "maxValue": "srk[0][0]", "minValue": "srk[0][0]", "showCorrectAnswer": true, "marks": 0.25}, {"correctAnswerFraction": false, "showPrecisionHint": false, "allowFractions": false, "scripts": {}, "type": "numberentry", "maxValue": "srk[0][1]", "minValue": "srk[0][1]", "showCorrectAnswer": true, "marks": 0.25}, {"correctAnswerFraction": false, "showPrecisionHint": false, "allowFractions": false, "scripts": {}, "type": "numberentry", "maxValue": "srk[0][2]", "minValue": "srk[0][2]", "showCorrectAnswer": true, "marks": 0.25}, {"correctAnswerFraction": false, "showPrecisionHint": false, "allowFractions": false, "scripts": {}, "type": "numberentry", "maxValue": "srk[0][3]", "minValue": "srk[0][3]", "showCorrectAnswer": true, "marks": 0.25}, {"correctAnswerFraction": false, "showPrecisionHint": false, "allowFractions": false, "scripts": {}, "type": "numberentry", "maxValue": "srk[0][4]", "minValue": "srk[0][4]", "showCorrectAnswer": true, "marks": 0.25}, {"correctAnswerFraction": false, "showPrecisionHint": false, "allowFractions": false, "scripts": {}, "type": "numberentry", "maxValue": "surk[0]", "minValue": "surk[0]", "showCorrectAnswer": true, "marks": 0.5}, {"correctAnswerFraction": false, "showPrecisionHint": false, "allowFractions": false, "scripts": {}, "type": "numberentry", "maxValue": "srk[1][0]", "minValue": "srk[1][0]", "showCorrectAnswer": true, "marks": 0.25}, {"correctAnswerFraction": false, "showPrecisionHint": false, "allowFractions": false, "scripts": {}, "type": "numberentry", "maxValue": "srk[1][1]", "minValue": "srk[1][1]", "showCorrectAnswer": true, "marks": 0.25}, {"correctAnswerFraction": false, "showPrecisionHint": false, "allowFractions": false, "scripts": {}, "type": "numberentry", "maxValue": "srk[1][2]", "minValue": "srk[1][2]", "showCorrectAnswer": true, "marks": 0.25}, {"correctAnswerFraction": false, "showPrecisionHint": false, "allowFractions": false, "scripts": {}, "type": "numberentry", "maxValue": "srk[1][3]", "minValue": "srk[1][3]", "showCorrectAnswer": true, "marks": 0.25}, {"correctAnswerFraction": false, "showPrecisionHint": false, "allowFractions": false, "scripts": {}, "type": "numberentry", "maxValue": "srk[1][4]", "minValue": "srk[1][4]", "showCorrectAnswer": true, "marks": 0.25}, {"correctAnswerFraction": false, "showPrecisionHint": false, "allowFractions": false, "scripts": {}, "type": "numberentry", "maxValue": "surk[1]", "minValue": "surk[1]", "showCorrectAnswer": true, "marks": 0.5}, {"correctAnswerFraction": false, "showPrecisionHint": false, "allowFractions": false, "scripts": {}, "type": "numberentry", "maxValue": "srk[2][0]", "minValue": "srk[2][0]", "showCorrectAnswer": true, "marks": 0.25}, {"correctAnswerFraction": false, "showPrecisionHint": false, "allowFractions": false, "scripts": {}, "type": "numberentry", "maxValue": "srk[2][1]", "minValue": "srk[2][1]", "showCorrectAnswer": true, "marks": 0.25}, {"correctAnswerFraction": false, "showPrecisionHint": false, "allowFractions": false, "scripts": {}, "type": "numberentry", "maxValue": "srk[2][2]", "minValue": "srk[2][2]", "showCorrectAnswer": true, "marks": 0.25}, {"correctAnswerFraction": false, "showPrecisionHint": false, "allowFractions": false, "scripts": {}, "type": "numberentry", "maxValue": "srk[2][3]", "minValue": "srk[2][3]", "showCorrectAnswer": true, "marks": 0.25}, {"correctAnswerFraction": false, "showPrecisionHint": false, "allowFractions": false, "scripts": {}, "type": "numberentry", "maxValue": "srk[2][4]", "minValue": "srk[2][4]", "showCorrectAnswer": true, "marks": 0.25}, {"correctAnswerFraction": false, "showPrecisionHint": false, "allowFractions": false, "scripts": {}, "type": "numberentry", "maxValue": "surk[2]", "minValue": "surk[2]", "showCorrectAnswer": true, "marks": 0.5}, {"correctAnswerFraction": false, "showPrecisionHint": false, "allowFractions": false, "scripts": {}, "type": "numberentry", "maxValue": "srk[3][0]", "minValue": "srk[3][0]", "showCorrectAnswer": true, "marks": 0.25}, {"correctAnswerFraction": false, "showPrecisionHint": false, "allowFractions": false, "scripts": {}, "type": "numberentry", "maxValue": "srk[3][1]", "minValue": "srk[3][1]", "showCorrectAnswer": true, "marks": 0.25}, {"correctAnswerFraction": false, "showPrecisionHint": false, "allowFractions": false, "scripts": {}, "type": "numberentry", "maxValue": "srk[3][2]", "minValue": "srk[3][2]", "showCorrectAnswer": true, "marks": 0.25}, {"correctAnswerFraction": false, "showPrecisionHint": false, "allowFractions": false, "scripts": {}, "type": "numberentry", "maxValue": "srk[3][3]", "minValue": "srk[3][3]", "showCorrectAnswer": true, "marks": 0.25}, {"correctAnswerFraction": false, "showPrecisionHint": false, "allowFractions": false, "scripts": {}, "type": "numberentry", "maxValue": "srk[3][4]", "minValue": "srk[3][4]", "showCorrectAnswer": true, "marks": 0.25}, {"correctAnswerFraction": false, "showPrecisionHint": false, "allowFractions": false, "scripts": {}, "type": "numberentry", "maxValue": "surk[3]", "minValue": "surk[3]", "showCorrectAnswer": true, "marks": 0.5}], "type": "gapfill", "prompt": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
SubjectABCDETotals
Suncream      
W$\\var{r1[0][0]}$$\\var{r1[0][1]}$$\\var{r1[0][2]}$$\\var{r1[0][3]}$$\\var{r1[0][4]}$ 
Rank[[0]][[1]][[2]][[3]][[4]]$R_1=\\;$[[5]]
X$\\var{r1[1][0]}$$\\var{r1[1][1]}$$\\var{r1[1][2]}$$\\var{r1[1][3]}$$\\var{r1[1][4]}$ 
Rank[[6]][[7]][[8]][[9]][[10]]$R_2=\\;$[[11]]
Y$\\var{r1[2][0]}$$\\var{r1[2][1]}$$\\var{r1[2][2]}$$\\var{r1[2][3]}$$\\var{r1[2][4]}$ 
Rank[[12]][[13]][[14]][[15]][[16]]$R_3=\\;$[[17]]
Z$\\var{r1[3][0]}$$\\var{r1[3][1]}$$\\var{r1[3][2]}$$\\var{r1[3][3]}$$\\var{r1[3][4]}$ 
Rank[[18]][[19]][[20]][[21]][[22]]$R_4=\\;$[[23]]
\n

Rank each column separately and enter the ranks in the table, using the method you used for the Kruskal-Wallis question. (Hence the sum of the ranks in each column should be 10). Also input the sums of the ranks $R_1,\\;R_2,\\;R_3$ and $R_4$ for each row.

", "showCorrectAnswer": true, "marks": 0}, {"scripts": {}, "gaps": [{"correctAnswerFraction": false, "showPrecisionHint": false, "allowFractions": false, "scripts": {}, "type": "numberentry", "maxValue": "fr1", "minValue": "fr1", "showCorrectAnswer": true, "marks": 2}, {"correctAnswerFraction": false, "showPrecisionHint": false, "allowFractions": false, "scripts": {}, "type": "numberentry", "maxValue": "1-tscorr", "minValue": "1-tscorr", "showCorrectAnswer": true, "marks": 2}, {"correctAnswerFraction": false, "showPrecisionHint": false, "allowFractions": false, "scripts": {}, "type": "numberentry", "maxValue": "fr+tol", "minValue": "fr-tol", "showCorrectAnswer": true, "marks": 1}], "type": "gapfill", "prompt": "

Next you  work out the uncorrected (for ties) Friedman statistic $\\chi_r^2$.

\n

Here:

\n

$t = \\;$ number of treatments i.e. suncreams $\\;=4$

\n

$b=\\;$ number of subjects $\\;=5$.

\n

$\\displaystyle \\chi_r^2= \\frac{12}{b\\times t \\times (t+1)}\\left[\\sum R_i^2 \\right]-\\left\\{3\\times b\\times (t+1)\\right\\}=\\;$[[0]] (Input to 2 decimal places).

\n

Now input the correction term due to the ties:

\n

$C=\\;$[[1]] (Input to 2 decimal places).

\n

Hence the corrected Friedman test statistic is:

\n

$\\chi_r^{2^*}=\\;$[[2]]  (Input to 2 decimal places).

\n

 

\n

 

", "showCorrectAnswer": true, "marks": 0}, {"displayType": "radiogroup", "choices": ["

We have very strong evidence to  reject the null hypothesis at the $0.1\\%$ level and conclude that the suncreams differ in their effect.

", "

We have strong evidence to reject the null hypothesis at the $1\\%$ level and conclude that the suncreams differ in their effect.

", "

We have evidence to reject the null hypothesis at the $5\\%$ level and conclude that the suncreams differ in their effect.

", "

We only have weak evidence against the null hypothesis at the $10\\%$ level and so we retain the null hypothesis.

", "

We have no  evidence against the null hypothesis so we retain the null hypothesis that the suncreams have the same effect.

"], "matrix": "v", "prompt": "

Give the value of $\\chi_r^{2^*}$ you have found, and the $\\chi^2$ table data:

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
$10\\%$$5\\%$$1\\%$$0.1\\%$
$6.251$$7.815$$11.345$$16.266$
\n

What is your decision?

\n

\n

 

", "distractors": ["", "", "", "", ""], "shuffleChoices": false, "scripts": {}, "maxMarks": 0, "type": "1_n_2", "minMarks": 0, "showCorrectAnswer": true, "displayColumns": 1, "marks": 0}], "statement": "

To test the effectiveness of sun-tan creams, five volunteers A, B, C, D, E each tried four creams W, X, Y, Z on various parts of their legs. They were then subjected to ultra-violet radiation and an estimate of the degree of burning was made (higher figures indicate greater burning). The results are given below with some totals:

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
 WXYZ
A{r[0][0]}{r[0][1]}{r[0][2]}{r[0][3]}
B{r[1][0]}{r[1][1]}{r[1][2]}{r[1][3]}
C{r[2][0]}{r[2][1]}{r[2][2]}{r[2][3]}
D{r[3][0]}{r[3][1]}{r[3][2]}{r[3][3]}
E{r[4][0]}{r[4][1]}{r[4][2]}{r[4][3]}
\n

 

\n

Apply the Friedman test to this data in relation to the null hypothesis that there is no difference in the effectiveness of the suncreams.

", "tags": ["checked2015", "correction term", "Friedman statistic", "hypothesis testing", "PSY2010", "ranks", "statistics", "ties", "treatments"], "rulesets": {}, "preamble": {"css": "", "js": ""}, "type": "question", "metadata": {"notes": "", "licence": "Creative Commons Attribution 4.0 International", "description": "

Friedman test, 5 subjects, 4 treatments.

"}, "advice": "

Step 1.

\n

First we present the data as in the next table, changing rows to columns, and work out the ranks of each of the columns. So all we are doing is ranking the four numbers in each column separately. We use the method of finding ranks as explained for the Kruskal-Wallis example. Then we sum over the ranks in each row.

\n

 

\n

 

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
SubjectABCDETotals
Suncream      
W$\\var{r1[0][0]}$$\\var{r1[0][1]}$$\\var{r1[0][2]}$$\\var{r1[0][3]}$$\\var{r1[0][4]}$ 
Rank{srk[0][0]}{srk[0][1]}{srk[0][2]}{srk[0][3]}{srk[0][4]}$R_1=\\;${surk[0]}
X$\\var{r1[1][0]}$$\\var{r1[1][1]}$$\\var{r1[1][2]}$$\\var{r1[1][3]}$$\\var{r1[1][4]}$ 
Rank{srk[1][0]}{srk[1][1]}{srk[1][2]}{srk[1][3]}{srk[1][4]}$R_2=\\;${surk[1]}
Y$\\var{r1[2][0]}$$\\var{r1[2][1]}$$\\var{r1[2][2]}$$\\var{r1[2][3]}$$\\var{r1[2][4]}$ 
Rank{srk[2][0]}{srk[2][1]}{srk[2][2]}{srk[2][3]}{srk[2][4]}$R_3=\\;${surk[2]}
Z$\\var{r1[3][0]}$$\\var{r1[3][1]}$$\\var{r1[3][2]}$$\\var{r1[3][3]}$$\\var{r1[3][4]}$ 
Rank{srk[3][0]}{srk[3][1]}{srk[3][2]}{srk[3][3]}{srk[3][4]}$R_4=\\;${surk[3]}
 
Ties{nties[0]}{nties[1]}{nties[2]}{nties[3]}{nties[4]}$\\var{sum(nties)}$
\n

 

\n

 

\n

Step 2: Next we work out the uncorrected (for ties) Friedman statistic $\\chi_r^2$.

\n

Here:

\n

$t = \\;$ number of treatments i.e. suncreams $\\;=4$

\n

$b=\\;$ number of subjects $\\;=5$.

\n

\\[\\begin{eqnarray*}\\chi_r^2&=& \\frac{12}{b\\times t \\times (t+1)}\\left[\\sum R_i^2 \\right]-\\left\\{3\\times b\\times (t+1)\\right\\}\\\\&=&\\left\\{\\frac{12}{\\var{n}\\times\\var{m}\\times\\var{m+1}}\\left[\\var{surk[0]}^2+\\var{surk[1]}^2+\\var{surk[2]}^2+\\var{surk[3]}^2\\right]\\right\\}-\\left\\{3\\times\\var{n}\\times \\var{m+1}\\right\\}\\\\&=&\\var{fr}\\end{eqnarray*}\\]

\n

 Step 3: Next we calculate the Correction Factor $C$

\n

Only necessary if there are some ties, otherwise $C=1$.

\n

For each tie in a column with $g$ equal values we calculate $\\displaystyle \\frac{g^3-g}{b(t^3-t)}$.

\n

$T$ is the sum of all these values and then the Correction Factor $C= 1-T$. 

\n

So for this example we note  {messtab}

\n

{table(disptab,[])}

\n

Summing over the values {mess1} we find $T=\\var{tscorr} \\Rightarrow C=1- \\var{tscorr}=\\var{1-tscorr}$.

\n

Step 4.

\n

Next we calculate the corrected Friedman statistic allowing for ties.

\n

$ \\displaystyle \\chi_r^{2^*}=\\frac{\\chi_r^{2}}{C} = \\frac{\\var{fr1}}{\\var{1-tscorr}}=\\var{fr}$ to 2 decimal places.

\n

Step 5. Make a decision.

\n

Looking at the table in conjunction with the test statistic we have just worked out, {dec}

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
$10\\%$$5\\%$$1\\%$$0.1\\%$
$6.251$$7.815$$11.345$$16.266$
"}]}], "name": "Friedman Test Practice", "showQuestionGroupNames": true, "showstudentname": true, "navigation": {"onleave": {"message": "You haven't submitted all your answers on this page.", "action": "none"}, "allowregen": true, "reverse": true, "preventleave": true, "browse": true, "showresultspage": "oncompletion", "showfrontpage": true}, "timing": {"timedwarning": {"message": "", "action": "none"}, "timeout": {"message": "", "action": "none"}, "allowPause": true}, "duration": 0, "contributors": [{"name": "Chris Graham", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/369/"}, {"name": "Newcastle University Mathematics and Statistics", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/697/"}], "extensions": ["stats"], "custom_part_types": [], "resources": []}