Je reçois une erreur en essayant de fondre utiliser () sur une trame de données contenant des dates

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

  •  26-09-2019
  •  | 
  •  

Question

Je voudrais faire fondre la dataframe de sorte que dans une colonne I ont des dates et dans un second nom d'utilisateur I ont comme variable et enfin la valeur.

Je reçois cette erreur:

  

Erreur dans as.Date.numeric (valeur): 'origine' doit être fournie

et si je comprends l'erreur, je ne sais pas exactement comment la contourner.

Un petit échantillon des données est la suivante:

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"))

Merci pour votre aide.

Était-ce utile?

La solution

Essayez de convertir la variable created_at dans un vecteur de caractère. melt ne semble pas aussi comme la classe cast_df, mais j'eu du succès en remettant à zéro la classe juste data.frame. Comme ceci:

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

Autres conseils

erreur Vous est causée par rbind utilisé dans melt, ce qui est conséquence de mauvaises données à fondre. Je ne sais pas comment vous créez votre cast_df data.frame, mais il manque des attributs (idvars et rdimnames) qui sont requis par melt.cast_df.

C'est pourquoi wkmor1 solution fonctionne, melt.data.frame ne pas besoin de ce arguments. Et sans conversion Date à character il peut être fait que:

df <- as.data.frame(df)
melt(df, id="created_at")
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top