The accident occurred during rush hour near the town of Nova Iguaca, 35 kilometers (20 miles) from Rio de Janeiro, when an empty train slowed down to switch tracks and a second train, with over 800 commuters on board, slammed into it.
Most of the wounded received only minor injuries.
"The train dispatcher and driver committed a total of five errors that resulted in the accident," Joao Gouveia, the operational director of Supervia, said.
First, the dispatcher did not keep the train at the nearest station as the other one was crossing the rails.
Second, the driver exceeded the maximum allowable speed limit of 60 mph, reaching 76 mph. He then did not slow down at a yellow signal, and continued even when a red signal came on, Gouveia said.
In addition, there was no communication link between the dispatcher and the driver, he said.
Earlier, experts said that a defect in the signal control system might have been to blame for the tragedy.
However, a technical expertise carried out at the site of the accident did not reveal any failures in the automatic system or a train malfunction.