Reformar datos de largo a ancho: comprender los parámetros de remodelación

Tengo un formato de datos de formato largo para perros que estoy tratando de formatear a ancho utilizando la función reshape (). Actualmente se ve así:

dogid  month  year  trainingtype  home  school  timeincomp
12345  1      2014  1             1     1       340
12345  2      2014  1             1     1       360
31323  12     2015  2             7     3       440
31323  1      2014  1             7     3       500
31323  2      2014  1             7     3       520

La columna dogid es un grupo de identificadores, uno para cada perro. La columna del mes varía de 1 a 12 para los 12 meses y el año de 2014 a 2015. El tipo de entrenamiento varía de 1 a 2. Cada perro tiene un valor de tiempo para cada combinación mes-año-tipo de entrenamiento, por lo que 48 entradas por perro. El hogar y la escuela varían de 1 a 8 y son constantes por perro (cada entrada para el mismo perro tiene la misma escuela y hogar). El tiempo en comp es mi variable de respuesta.

Me gustaría que mi mesa se vea así:

dogid  home  school  month1year2014trainingtype1  month2year2014trainingtype1
12345  1     1       340                          360
31323  7     3       500                          520

etc. (con columnas para cada combinación de tipo de entrenamiento mes-año)

¿Qué parámetros debo usar en remodelar para lograr esto?

Respuestas a la pregunta(3)

Su respuesta a la pregunta