Usando `pivot_longer` con `values_ptypes` en R.
Mi pregunta es simple:
He estado intentando usar pivot_longer
con values_ptypes
:
Este es mi código:
df <- mtcars %>% rownames_to_column()
df[1,] %>% pivot_longer(everything(), names_to = ‘My Values’, values_ptypes = list(rowname = ‘character’))
df[1,] %>% pivot_longer(everything(), names_to = ‘My Values’, values_ptypes = list(rowname = as.character))
Tengo este mensaje: Error: No se pueden combinar rowname
¿La idea de values_ptypes
es advertir a pivot_longer
que tengo una columna que es un character
, verdad?
davy.ai
Sí, el propósito de
values_ptypes
enpivot_longer
es especificar los tipos de datos de las columnas de valores, incluyendo las columnas que no se detectan como numéricas de forma predeterminada. En este caso, estás intentando pivotar un marco de datos con una columna de caracteres (rowname
) y columnas numéricas (mpg
, etc.). El mensaje de error indica que hay un conflicto entre los tipos de datos derowname
ympg
.Parece que tu intento de usar
values_ptypes
con una lista de tipos de columna no está funcionando como se esperaba. En su lugar, puedes especificar el tipo de datos para la columnarowname
directamente, utilizando la funcióntype_convert
dereadr
:“`{r}
library(dplyr)
library(tidyr)
library(readr)
df <- mtcars %>% rownames_to_column()
df[1,] %>%
type_convert() %>%
pivot_longer(everything(), names_to = “Mis Valores”)
“`
Este código primero aplica
type_convert
a la fila seleccionada de datos, lo que convierterowname
en un vector de caracteres. Luego,pivot_longer
puede manejar los datos sin conflictos entre diferentes tipos de datos.