Estoy recibiendo un error al intentar utilizar la masa fundida () en una trama de datos que contiene fechas

StackOverflow https://stackoverflow.com/questions/2831319

  •  26-09-2019
  •  | 
  •  

Pregunta

Me gustaría para fundir la dataframe de modo que en una columna tengo fechas y en un segundo tengo nombre de usuario como la variable y, finalmente, el valor.

Estoy recibiendo este error:

  

Error en as.Date.numeric (valor): 'origen' debe suministrarse

y si bien entiendo el error no estoy exactamente seguro de cómo llegar a su alrededor.

Una pequeña muestra de los datos es:

structure(list(created_at = structure(c(14007, 14008, 14009, 
14010, 14011, 14012), class = "Date"), benjamin = c(16, 0, 0, 
0, 0, 0), byron = c(0, 0, 0, 0, 0, 0), cameronc = c(0, 0, 0, 
0, 0, 0), daniel = c(0, 0, 0, 0, 0, 0), djdiaz = c(0, 0, 0, 0, 
0, 0), gene = c(16, 77, 64, 38, 72, 36), joel = c(0, 0, 0, 0, 
0, 2), kerem = c(0, 0, 0, 0, 0, 0), sophia = c(0, 0, 0, 0, 0, 
0), SuperMoonMan = c(0, 0, 0, 0, 0, 0)), .Names = c("created_at", 
"benjamin", "byron", "cameronc", "daniel", "djdiaz", "gene", 
"joel", "kerem", "sophia", "SuperMoonMan"), row.names = c(NA, 
6L), class = c("cast_df", "data.frame"))

Gracias por su ayuda.

¿Fue útil?

Solución

Trate de convertir la variable created_at en un vector de caracteres. melt también no parece como la clase cast_df, pero no tenía éxito restableciendo la clase a solo data.frame. De esta manera:

df <- as.data.frame(df)
df$created_at <- as.character(df$created_at)
library(reshape)
melt(df)

Otros consejos

de error

es causada por rbind utilizado en melt, que es consecuencia de los datos erróneos se derrita. No sé cómo crear su cast_df data.frame, pero faltan atributos (idvars y rdimnames) que son requeridos por melt.cast_df.

Esa es la razón por wkmor1 funciona la solución, melt.data.frame no necesitan esta argumentos. Y sin necesidad de convertir a Date character que se puede hacer como:

df <- as.data.frame(df)
melt(df, id="created_at")
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top