J'ai quelques données que j'essaye de tracer facetté par son type avec un lisse (Loess, LM, peu importe) superposé. Code Generation est ci-dessous:Smooth Erreur dans qplot de ggplot2
testFrame <- data.frame(Time=sample(20:60,50,replace=T),Dollars=round(runif(50,0,6)),Type=sample(c("First","Second","Third","Fourth"),50,replace=T,prob=c(.33,.01,.33,.33)))
Je n'ai pas de problème non plus faire un terrain à facettes, ou tracer le bon, mais je cannnot deux. Les trois premières lignes de code ci-dessous fonctionnent bien. La quatrième ligne est l'endroit où j'ai du mal:
qplot(Time,Dollars,data=testFrame,colour=Type)
qplot(Time,Dollars,data=testFrame,colour=Type) + geom_smooth()
qplot(Time,Dollars,data=testFrame) + facet_wrap(~Type)
qplot(Time,Dollars,data=testFrame) + facet_wrap(~Type) + geom_smooth()
Il donne l'erreur suivante:
Error in
[<-.data.frame
(*tmp*
, var, value = list(NA
= NULL)) : missing values are not allowed in subscripted assignments of data frames
Qu'est-ce que je manque de superposer une surface lisse dans un terrain à facettes? J'aurais juré que j'avais déjà fait ça, peut-être même avec les mêmes données.
Téléchargé ggplot2 au cours des 2 dernières semaines. Je pense que l'erreur peut être causée lorsque l'un des types a seulement un enregistrement, ne permettant pas à loess() ou à lm() de calculer correctement. Calculer testFrame comme ci-dessous illustre cela. testFrame <- data.frame (Heure = échantillon (20: 60,50, remplacer = T), Dollars = rond (runif (50,0,6)), Type = c (rep ("Second", 10), exemple (c ("Premier", "Troisième", "Quatrième"), 40, remplacer = T, prob = c (.33, .34, .33)))) Ou vous pourriez simplement augmenter la probabilité de la " Deuxième "Type à échantillonner. – Jared
Cet ensemble de données fonctionne toujours pour moi. – hadley