Je voudrais ajuster les données et prédire les valeurs y pour une plage x plus large.Prédire pour une plage plus large
laisse supposer que j'ai données 'iris de définir et utiliser les données suivantes pour la prédiction de ce post
library(dplyr)
cc <- iris %>%
group_by(Species) %>%
do({
mod <- nlsLM(Sepal.Length ~ k*Sepal.Width/2+U, start=c(k=10,U=5), data = ., trace=F, control = nls.lm.control(maxiter=100))
pred <- predict(mod, newdata =.["Sepal.Width"])
data.frame(., pred)
})
C'est le terrain de montage
Je veux adapter ces données avec plus large Sepal width
gamme telle que
new.range<- data.frame(x=seq(2,10,length.out=20))
et modifier le script
pred <- predict(mod, newdata =new.range)
à tracer new.range raccord
library(ggplot2)
ggplot(cc,aes(y=Sepal.Length,x=Sepal.Width ,col=factor(Species)))+
geom_point()+
facet_wrap(~Species)+
geom_line(aes(x=new.range,y=pred),size=1)
Error in (fonction (..., row.names = NULL, check.rows = FALSE, check.names = TRUE,: les arguments impliquent des nombres de lignes: 20, 150
Je ne peux pas comprendre pourquoi obtenir cette Erreur. Je suppose que pred
est calculé à partir de new.range
alors ils devraient avoir la même longueur?
messages similaires
trouble-with-predict-function-in-r
predict-maybe-im-not-understanding-it?
Avez-vous besoin d'appeler 'cc $ mod' au lieu de mod? – troh
@troh Quand j'ai essayé cc $ mod, 'Erreur dans prédire (mod, newdata = new.range): objet 'mod' non trouvé' – Alexander