Dividir data.frame en grupos por nombre de columna

Soy nuevo en R. Tengo un marco de datos con nombres de columna de ese tipo:

file_001   file_002   block_001   block_002   red_001   red_002 ....etc'  
  0.05       0.2        0.4         0.006       0.05       0.3
  0.01       0.87       0.56        0.4         0.12       0.06

Quiero dividirlos en grupos por el nombre de la columna, para obtener un resultado como este:

group_file
file_001   file_002
  0.05       0.2
  0.01       0.87

group_block
block_001   block_002
  0.4        0.006
  0.56       0.4

group_red
red_001    red_002
  0.05       0.3
  0.12       0.06

...etc'

Mi archivo es enorme No tengo un cierto número de grupos. Debe ser solo por el inicio del nombre de la columna.

Respuestas a la pregunta(2)

Su respuesta a la pregunta