Erreur dans ggplot.les données.cadre : correspondance doit être créé avec aes ou aes_string
Je vais avoir un problème lors de l'extraction du chemin à partir d'un ggplot
et je suis coincé avec une erreur.
L'image ci-dessous explique le résultat, je suis à la recherche d': (Fait dans un éditeur d'image pour expliquer le but)
Supposons que la Parcelle 1 est ma parcelle d'origine. Ce que je cherche, c'est le premier point que 'F' point et les voyages de 24h à partir de ce point.
Des %>%
mutate(nf = cumsum(ACT=="F")) %>% # build F-to-F groups
group_by(nf) %>%
mutate(first24h = as.numeric((DateTime-min(DateTime)) < (24*3600))) %>% # find the first 24h of each F-group
ggplot(aes(x=Loq, y=Las)) +
geom_path(aes(colour=first24h)) + scale_size(range = c(1, 2))+ geom_point()
Library(zoo)
full.time = seq(Des$DateTime[1], tail(Des$DateTime, 1), by=600) # new timeline with point at every 10 min
d.zoo = zoo(Des[,2:3], Des$DateTime) # convert to zoo object
d.full = as.data.frame(na.approx(d.zoo, xout=full.time)) # interpolate; result is also a zoo object
d.full$DateTime = as.POSIXct(rownames(d.full))
Quand je suis en utilisant na.approx
pour l'interpolation, il me donne l'Erreur?? Pas autrement.
Erreur dans les env(x[!na], y[!na], xout, ...) :
besoin d'au moins deux non-NA valeurs à interpoler
En outre: le message d'Avertissement:
Dans xy.coordonnées(x, y) : NAs introduit par la coercition
Avec ces deux data.frame
s combiné. Tous les F-F article est rédigé dans une autre parcelle et seuls les points pas plus de 24 heures après le F-point est illustré
library(dplyr)
library(ggplot)
Des %>%
select(ACT, DateTime) %>%
right_join(d.full, by="DateTime") %>%
mutate(ACT = ifelse(is.na(ACT),"",ACT)) %>%
mutate(nf = cumsum(ACT=="F")) %>%
group_by(nf) %>%
mutate(first24h = (DateTime-min(DateTime)) < (24*3600)) %>%
filter(first24h == TRUE) %>%
filter(first24h == 1) %>%
ggplot(Des, aes(x=Loq, y=Las,colour=ACT)) +
geom_path() + facet_wrap(~ nf)
Erreur
Erreur dans ggplot.les données.image(., Des, aes(x = Ld, y = Las, couleur = LOI)) :
La cartographie doit être créé avec aes ou aes_string
C'est mon Des
format:
ID Las Loq ACT Time Date
1 12 13 R 23:20 1-1-01
1 13 12 F 23:40 1-1-01
1 13 11 F 00:00 2-1-01
1 15 10 R 00:20 2-1-01
1 12 06 W 00:40 2-1-01
1 11 09 F 01:00 2-1-01
1 12 10 R 01:20 2-1-01
so on...
Data
de votre appel à ggplot
. Depuis que vous utilisez le tuyau, les données argument est supposé et votre premier argument doit être le aes
. Ou vous pouvez retirer le tuyau de l'opérateur avant de ggplot
.Pouvez vous s'il vous plaît coller la commande ici. J'ai essayé de prendre les Données dans un premier temps puis il me montre le message d'Erreur:
Loq not found
Essayez de remplacer
Data
avec un .
Error in inherits(mapping, "uneval") : object 'Des.' not found
Pouvez-vous coller la sortie de
dput(Des)
ou dput(Des[sample(nrow(Des), 20),])
dans votre question?
OriginalL'auteur | 2015-08-08
Vous devez vous connecter pour publier un commentaire.
L'erreur (dans le titre du post) se pose parce que vous avez trop d'arguments à
ggplot
. Comme les commentaires à la question de la note, le pipeline%>%
inclut implicitement la sortie de la gauche de la pipe comme le premier argument de la fonction sur la droite.Ce code reproduit le même type d'erreur. (J'ai séparé les
aes
cartographie de ses propres étape pour plus de clarté.)Conceptuellement--si vous "unpipe" les choses, qu'est ce qu'être exécuté est le quelque chose comme suit:
La
ggplot
fonction suppose que le premier argument est ledata
paramètre et la seconde est uneaes
esthétique de la cartographie. Mais dans votre pipeline, les deux premiers arguments sont des trames de données. C'est la source de l'erreur.La solution est de supprimer les données redondantes argument. Plus généralement, je me sépare de mon pipeline de transformation de données (
%>%
chaînes) de monggplot
de la parcelle du bâtiment (+
chaînes).OriginalL'auteur TJ Mahr