ver tabla presentacion nuevo mapas mapa herramientas fuente establecer definicion datos data crear contenido como barra arcmap r dataframe

presentacion - tabla contenido arcgis



Transponer un marco de datos (3)

Puede usar la función de transpose desde la biblioteca data.table . Solución simple y rápida que mantiene numeric valores numeric como numeric .

library(data.table) # get data data("mtcars") # transpose t_mtcars <- transpose(mtcars) # get row and colnames in order colnames(t_mtcars) <- rownames(mtcars) rownames(t_mtcars) <- colnames(mtcars)

Necesito transponer un marco de datos grande y entonces usé:

df.aree <- t(df.aree) df.aree <- as.data.frame(df.aree)

Esto es lo que obtengo:

df.aree[c(1:5),c(1:5)] 10428 10760 12148 11865 name M231T3 M961T5 M960T6 M231T19 GS04.A 5.847557e+03 0.000000e+00 3.165891e+04 2.119232e+04 GS16.A 5.248690e+04 4.047780e+03 3.763850e+04 1.187454e+04 GS20.A 5.370910e+03 9.518396e+03 3.552036e+04 1.497956e+04 GS40.A 3.640794e+03 1.084391e+04 4.651735e+04 4.120606e+04

Mi problema son los nuevos nombres de columna (10428, 10760, 12148, 11865) que necesito eliminar porque necesito usar la primera fila como nombres de columna.

Intenté con la función col.names() pero no obtuve lo que necesito.

¿Tienes alguna sugerencia?

EDITAR

¡¡¡Gracias por tu sugerencia!!! Utilizándolo, obtengo:

df.aree[c(1:5),c(1:5)] M231T3 M961T5 M960T6 M231T19 GS04.A 5.847557e+03 0.000000e+00 3.165891e+04 2.119232e+04 GS16.A 5.248690e+04 4.047780e+03 3.763850e+04 1.187454e+04 GS20.A 5.370910e+03 9.518396e+03 3.552036e+04 1.497956e+04 GS40.A 3.640794e+03 1.084391e+04 4.651735e+04 4.120606e+04 GS44.A 1.225938e+04 2.681887e+03 1.154924e+04 4.202394e+04

Ahora necesito transformar los nombres de las filas (GS ..) en una columna de factores ....


Será mejor que no transponga el data.frame mientras la columna de nombre está en él; ¡todos los valores numéricos se convertirán en cadenas!

Aquí hay una solución que mantiene números como números:

# first remember the names n <- df.aree$name # transpose all but the first column (name) df.aree <- as.data.frame(t(df.aree[,-1])) colnames(df.aree) <- n df.aree$myfactor <- factor(row.names(df.aree)) str(df.aree) # Check the column types


df.aree <- as.data.frame(t(df.aree)) colnames(df.aree) <- df.aree[1, ] df.aree <- df.aree[-1, ] df.aree$myfactor <- factor(row.names(df.aree))