J'ai des données transactionnelles à partir d'une requête SQL que je transforme en une trame de données. La première colonne de la df contient des horodatages UNIX (format = "% Y /% d /% m% H:% M") que je voudrais utiliser pour créer un graphe graphique en utilisant par pour afficher 1 ligne par date. Pour le moment je suis en train de tâtonner en divisant la colonne 1 et en la comparant avec la rangée précédente pour chercher un changement puis en assignant un indicateur fictif à utiliser dans ma commande plot. Merci, WillR tableau par date
Répondre
Un peu difficile de répondre sans données d'exemple mais je vais prendre une photo.
Je devine que votre date ressemble à ceci: "2009-03-04 17:45"
Il l'a lu probablement le caractère. Vous pouvez vérifier la classe de chaque colonne de votre trame de données en exécutant str(data.frame)
En utilisant stringr de package, vous pouvez simplement lire les y/d/m et le convertir en une classe Date comme ceci:
library(stringr)
date="2009-03-04 17:45"
date=as.Date(str_replace_all(str_sub(date,3,10),"-","/"), "%y/%d/%m")
Vous pouvez ensuite utiliser date
en tant que groupe dans ggplot2
pour tracer une ligne par date. Vous pouvez également créer des panneaux séparés (un par date) en utilisant + facet_wrap(~date)
dans votre appel ggplot.
départ en qu'obtenir la partie date de votre horodatage
SELECT *, DATE (timestampcolumn) comme theDate DE yourtable;
colonne Date Convertir au facteur
mydf < - transformer (mydf, as.factor (theDate))
Terrain avec par exemple xyplot
bibliothèque (treillis) xyplot (~ varX varier | theDate, data = mydf)
ajouter quelques exemples de données et le code que vous avez essayé. C'est beaucoup plus facile de vous aider. –