je dispose d'une liste de 100 valeurs ordonnées. Le tracé de cette liste me donne donc logiquement une courbe décroissante. Je voudrais étudier la décroissance de cette liste (en fait, je dispose de 8000 listes ordonnées, et je voudrais comparer leurs pentes respectives). Assez naturellement, je souhaiterais obtenir la dérivée de ces listes (même si ce sont des valeurs discrètes, graphiquement c'est assez simple).
Ma liste est donc un vecteur de 100 valeurs. Je travaille avec R (avec lequel je débute) mais je ne comprends rien, et les ressources disponibles sur le ternet sont assez évasive (et la doc, pas super accessible à mon goût -- je suis pas un pro en stats).
Dans un premier temps, je ne comprends même pas la syntaxe de la fonction que je dois utiliser. Dans ma tête, une dérivée se calcule sur la différence en ordonnée entre trois valeurs proches en abscisse (avec un beau passage à la limite pour faire tendre cette différence vers 0, mais ici je travaille sur une liste discrète, donc la différence se fera sur trois valeurs consécutive, par pas de 1).
J'ai trouvé un exemple[1], que je parviens à reproduire :
> x
> numericDeriv(quote(x^2),"x")
Je ne comprends pas à quoi correspond le deuxième argument de la fonction. D'après la doc :
Usage:
numericDeriv(expr, theta, rho = parent.frame(), dir = 1)
Arguments:
expr: The expression to be differentiated. The value of this
expression should be a numeric vector.
theta: A character vector of names of numeric variables used in
'expr'.
rho: An environment containing all the variables needed to
evaluate 'expr'.
dir: A numeric vector of directions to use for the finite
differences.
Si vous pouviez m'éclairer, ça serait hyper super cool.
[1] http://tolstoy.newcastle.edu.au/R/help/05/11/15789.html
# Pas la bonne fonction a mon avis
Posté par beb . Évalué à 1.
Dans ton cas, si j'ai bien compris, tu ne connais pas la fonction sous-jacente à ta liste de points observés. Je ne sais pas comment répondre à ton problème par contre. Je te suggères d'envoyer ta question à la liste de diffusion R-help, les réponses sont en général assez rapides et les interlocuteurs compétents.
[^] # Re: Pas la bonne fonction a mon avis
Posté par Duncan Idaho . Évalué à 1.
Comme je suis obligé de traiter mes résultats en amont de toutes façons (ne serait-ce que pour les formater en CSV pour que R puisse les traiter) je suis en train de rajouter ce bout de calcul. Ça me rappelle des cours d'algorithmique bien relou mais je m'en tire :)
Toutefois, je ne bite toujours rien à R :)
Merci !
[^] # Re: Pas la bonne fonction a mon avis
Posté par Le Pnume . Évalué à 3.
- R pour débutant de Pascal Paradis : http://cran.r-project.org/doc/contrib/Paradis-rdebuts_fr.pdf
- le site de Zoonekynd en anglais : http://zoonek2.free.fr/UNIX/48_R_2004/01.html et en français (non maintenu) : http://zoonek2.free.fr/UNIX/48_R_2004/01.html
- Pour le mini à connaitre pour les graphiques http://www.harding.edu/fmccown/R/
sinon un bouquin vient de paraitre au Presses Universitaires de Rennes : Statistiques avec R (http://www.pur-editions.fr/detail.php?idOuv=1836)(15€)
[^] # Re: Pas la bonne fonction a mon avis
Posté par beb . Évalué à 1.
# Mauvaise fonction
Posté par Le Pnume . Évalué à 1.
x<-as.numeric(1:5)
y<-as.numeric(10:20)
numericDeriv(quote(x^3+y^2),c("x","y"))
la dérivée serait selon x et y
le forum http://forums.cirad.fr/logiciel-R/index.php des utilisateurs de R devrait pouvoir t'aider plus
Désolé de ne pouvoir t'aider plus
[^] # Re: Mauvaise fonction
Posté par Le Pnume . Évalué à 1.
# Régression linéaire
Posté par teoB . Évalué à 2.
Voir le calcul de a : R%C3%A9gression_lin%C3%A9aire (Désolé pour la gueule du lien.)
[^] # Re: Régression linéaire
Posté par BAud (site web personnel) . Évalué à 2.
[^] # Re: Régression linéaire
Posté par arnaudus . Évalué à 3.
Si x est le vecteur des abscisses et y le vecteur des ordonnées,
coef(lm(y ~ x))
donne l'ordonnée à l'origine et la pente de la régression linéaire.
Bref, le problème ne vient pas de R !
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.