J'ai un tableau avec des dates comme indices que je trace. Je voudrais tracer une courbe LOESS avec elle. Cependant, l'entrée pour loess est une formule. Y at-il un bon moyen de définir une formule de l'index de tableau à la valeur que je peux ensuite donner à la fonction loess?Conversion d'un tableau en une formule dans R
Répondre
Consultez la page d'aide pour loess()
- il a quelques exemples de spécification de la formule. Fondamentalement, vous devez mettre vos données dans un objet data.frame
avec des variables ayant des noms appropriés, puis la formule sera y ~ x
, où x
et y
sont les noms des variables que vous voulez sur les axes x et y, respectivement.
Je préfère la fonction lowess()
, qui est une alternative plus rapide et plus simple. Il a moins de paramètres réglables que loess()
mais il est tout aussi bon dans de nombreuses applications. Voici somelinksdescribing les différences entre les deux fonctions.
est Ci-dessous un exemple simple pour les loess()
et lowess()
## create an example data set
x <- sort(rpois(100,10) + rnorm(100,0,2))
y <- x^2 + rnorm(100,0,7)
df <- data.frame(x = x,y = y)
plot(x,y)
## fit a lowess and plot it
l.fit1 <- lowess(x,y,f = 0.3)
lines(l.fit1, col = 2,lwd = 2)
## fit a loess and plot it
l.fit2 <- loess(y ~ x, data = df)
lines(x,predict(l.fit2,x), col = 3,lwd = 2)
Il y a plusieurs façons de faire ce que vous voulez; le plus simple pourrait être d'utiliser 'scatter.smooth' qui rassemble plus ou moins tout ce dont vous avez besoin (tracé de données, loess fit, et tracé de courbe) dans un seul appel fonctionnel.
data(AirPassengers) # a monthly time series supplied w/ base R install
scatter.smooth(x=1:length(AP),
y = as.vector(AP),
pch=20, # this line and lines below are just aesthetics
col="orange",
lty="dotted",
lwd=1.5,
xlab="")
Merci pour la suggestion. J'aimerais vraiment avoir aussi accès aux données loess sous-jacentes et il semble que scatter.smooth ne fera que le tracer, mais bon à savoir sur n'importe quoi. –
- 1. Conversion de noms de coefficients en une formule dans R
- 2. Conversion d'une formule en PHP
- 3. Que signifie une formule multi-parties R en termes mathématiques?
- 4. conversion formule inverse
- 5. Conversion d'entier en chaîne dans R
- 6. R: notation de raccourci polynôme en nls() formule
- 7. Transformer un tableau 3D en une matrice dans R
- 8. Calcul d'un tableau de valeurs en C# (Formule de conversion à partir d'Excel)
- 9. Conversion de chaînes de formule à la formule mathématique en C#
- 10. Conversion d'une formule mathématique en un algorithme programmatique
- 11. Conversion d'un objet ts (série temporelle) en vecteur dans R
- 12. Conversion de tableau double en tableau IComparable
- 13. Conversion d'un tableau dans une chaîne en AS3
- 14. R - Comment transformer une boucle en une fonction dans R
- 15. Conversion d'une image en tableau d'octets monochromes
- 16. Conversion d'un tableau plat en tableau imbriqué
- 17. Conversion tableau en PHP ($ _FILES)
- 18. R tableau par date
- 19. R manipulation de tableau
- 20. Conversion d'un tableau de chaînes en tableau de flèches
- 21. Conversion d'un pointeur en tableau en C++
- 22. Lire le tableau HTML dans R - Dépannage
- 23. R- conversion des données de fraction en valeur décimale
- 24. formule dans la formule obtenir CELL/MATCH
- 25. Conversion d'un tableau multidimensionnel en une seule dimension un
- 26. Formule pour une courbe (algèbre en javascript)
- 27. une formule Haversine appel SQL en PHP
- 28. tableau de conversion en fichier txt
- 29. problèmes de conversion de format de date spécifiques dans R
- 30. Tableau Conversion- Oracle
Une chose qui ne figure pas dans les liens ... ou je ne l'ai pas ... est que loess retourne en fait un modèle que vous pouvez faire des prédictions avec alors LOWESS() renvoie simplement x et y valeurs. ggplot() utilise apparemment loess() et remplit beaucoup de prédicteurs intermédiaires pour faire les belles lignes douces qu'ils obtiennent. Si vous voulez autre chose que des ajustements aux prédicteurs que vous lui donnez alors loess() doit être votre commande de choix. – John
Mon tableau a des dimensions 15238,1. Si je le passe en lowess je récupère une liste de longueur 2 où chaque item est une variable de longueur 15238. Qu'est-ce qui est dans les $ x et $ y que le lowess revient? –
J'ai toujours pas mal de problèmes en utilisant les deux fonctions. Comment puis-je convertir mon tableau en une fonction que je peux passer en lœss. Est-ce quelque chose comme "arrayIndex ~ array [arrayIndex]"? –