I think the scoring is correct, except not enough info on earned / unearned.
You need to reconstruct the whole inning as if the error had not happened, first baseman has ball, with R1 & R3 with however many outs. If, for example there are zero outs at this point, then a 5-3 results in a run and a runner out at second, so R1 again, then single for R1 & R2, then what???
In a case where an error simply advances runners who were already safe, it frequently doesn't result in unearned runs if the inning goes long. Since no out can be assumed by the error, its only positioning the runners. Next guy hits a gap shot and the error really doesn't 'hurt'.