Agregar matriz al encabezado multilínea en R

Tengo un archivo de encabezado con exactamente 4 filas en un formato de ancho fijo (guardado con la función write.matrix del paquete MASS).

Ahora quiero crear una nueva matriz con el archivo de encabezado que creé anteriormente. ¿Es posible en R agregar un encabezado multilínea fijo (por ejemplo, como "texto") a una matriz?

Un ejemplo: tengo un encabezado como

AB
CDEF 123456
GHIJK 789     101112
LMNOP

Y luego quiero crear una matriz con fecha en la primera columna y luego los datos (de otro archivo) en la segunda columna como

892201 0.1
892202 0.8

y así. Nota: Tiene que ser el formato descrito, porque el programa solo lee el formato de ancho fijo explicado anteriormente.

preguntado el 12 de junio de 12 a las 09:06

Sería útil ver el código utilizado para producir el encabezado. He asumido que el encabezado es exactamente como muestra en la Pregunta, copié y pegué eso en mi archivo y luego ejecuté el código que muestro en mi Respuesta contra ese archivo. -

El encabezado está programado con la función readLines(textConnection)). El código es así: fmtlines <- readLines(textConnection("...")) -

Quise decir mostrar el código que usaste para crearlo (el código que usa write.matrix()). De todos modos, no importa ahora si mi Respuesta te ayudó a resolver el problema. -

1 Respuestas

Puede escribir el segundo conjunto de datos en el archivo existente usando el write.table() funcionar con el append = TRUE argumento.

si tengo archivo foo.txt con el encabezado que muestra, puedo agregar algunas fechas y otros datos a ese archivo creando primero el objeto de datos que quiero agregar:

dat <- data.frame(dates = Sys.Date() + 0:4, data = seq(0.1, 0.5, by = 0.1))

> dat
       dates data
1 2012-06-12  0.1
2 2012-06-13  0.2
3 2012-06-14  0.3
4 2012-06-15  0.4
5 2012-06-16  0.5

Se agregará lo siguiente dat sin encabezados extraños ni nombres de fila en el archivo de encabezado existente

write.table(dat, "foo.txt", append = TRUE, col.names = FALSE, row.names = FALSE)

foo.txt ahora se ve así:

$ cat foo.txt
AB
CDEF 123456
GHIJK 789     101112
LMNOP
2012-06-12 0.1
2012-06-13 0.2
2012-06-14 0.3
2012-06-15 0.4
2012-06-16 0.5

Respondido el 12 de junio de 12 a las 09:06

Eso es exactamente lo que estaba buscando. Realmente no entendí cómo funciona la función "agregar". ¡¡Gracias!! - user1439894

@ user1439894 De nada. Si está satisfecho con la Respuesta, considere aceptarla para que otros sepan que este problema se resolvió correctamente y para mejorar el recurso SO general. Consulte la sección Cómo preguntar de las preguntas frecuentes para obtener más información: FAQ - gavin simpson

Sí, por supuesto. Lo siento, soy nuevo en esto, así que no conocía esta característica. - user1439894

@ user1439894 No hay necesidad de disculparse y no hay obligación de aceptar una respuesta en SO. Solo hazlo cuando una Respuesta realmente te haya ayudado. Puede esperar unos días si desea ver si obtiene otras Respuestas mejores, etc. Incluso puede cambiar de opinión si aparece una mejor después. - gavin simpson

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.