Se quería un liner: crear un marco de datos y dar colnames: R data.frame (..., colnames = c ("a", "b", "c"))

¿Hay una manera más fácil (es decir, una línea de código en lugar de dos) para hacer lo siguiente:

results <- as.data.frame(str_split_fixed(c("SampleID_someusefulinfo.countsA" , "SampleID_someusefulinfo.countsB" , "SampleID_someusefulinfo.counts"), "\\.", n=2))
names(results) <- c("a", "b")

Algo como:

results <- data.frame(str_split_fixed(c("SampleID_someusefulinfo.countsA" , "SampleID_someusefulinfo.countsB" , "SampleID_someusefulinfo.counts"), "\\.", n=2), colnames = c("a", "b"))

hago estomucho, y realmente me encantaría tener una manera de tener esto en una línea de código.

/data.table también funciona, si es más fácil hacerlo allí que en base data.frame /

Aclarando:

Mi salida esperada (que se logra ejecutando las dos líneas de código en la parte superior- Y QUIERO QUE SEA UNO - ¡ESO ES!) es un marco de datos de resultados de la estructura:

results
                       a      b
1 SampleID_someusefulinfo countsA
2 SampleID_someusefulinfo countsB
3 SampleID_someusefulinfo  counts

Lo que me gustaría hacer es:

CREE el marco de datos de una matriz o con algún contenido (por ejemplo, el código de matriz de juguete (c (1,2,3,4), nrow = 2, ncol = 2) que proporcioné en el primer ejemplo que escribí)ESPECIFICAREn esa misma línea lo que me gustaría que fueran los nombres de columna de mi marco de datos

Respuestas a la pregunta(2)

Su respuesta a la pregunta