Problème dans R avec la fonction NLS
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Problème dans R avec la fonction NLS



  1. #1
    invite4eebbd6c

    Problème dans R avec la fonction NLS


    ------

    Bonjour à tous,

    Je travaille sur R et essaye de déterminer la relation entre la température et les types de précipitations qui y sont associés (pluie ou neige). J'ai déjà un tableau de données (dp.w) sous forme de fréquence des observations (Colonnes: Température/ Neige (%) / Pluie (%), toutefois ces données sont sous forme de points et j'aimerais avoir des courbes au plus proche de ces points afin de déterminer ou elles se croisent précisément. Du coup j'ai opté pour une régression non linéaire avec la fonction suivante (pour la pluie dans un premier temps):

    Ppluie = 1/(1+e^-beta*T)

    Jusque là tout va bien, j'ai codé ma fonction dans R et elle semble juste:

    func_rain <- function(x,b){(1/(1+exp(-b*x)))}

    Puis j'ai mis sous vecteurs les différentes données que je vais utiliser, c'est-à-dire les colonnes de pourcentages selon les types de précipitations:

    vec_temp<-as.vector(dp.w$temperature)
    vec_rain<- as.vector(dp.w$rain)

    Et c'est là que les problèmes commencent, lorsque j'essaye d'utiliser la fonction NLS (non-linear least squares) sur R:

    Rain_fit <- nls(vec_rain~func_rain(vec_tem p,b),start=list(b=1))

    Je suis débutante du coup c'est possible que j'ai juste mal écris la formule ou qu'il s'agisse d'une incompréhension. Voici le message d'erreur que je reçois:

    Error in -b * x : argument non numérique pour un opérateur binaire

    Merci mille fois d'avance pour votre aide!

    -----

  2. #2
    Jack
    Modérateur

    Re : Problème dans R avec la fonction NLS

    Sujet déplacé dans le forum programmation qui est davantage adapté.

  3. #3
    minushabens

    Re : Problème dans R avec la fonction NLS

    bonjour,

    je commencerais par vérifier que mes données sont bien numériques:

    is.numeric(vec_temp) doit renvoyer TRUE

  4. #4
    invite4eebbd6c

    Re : Problème dans R avec la fonction NLS

    Alors effectivement merci, une des deux série de données n'était pas numérique, j'y ai remédié et maintenant voici le message d'erreur:

    Error in qr(.swts * gr) :
    dims [produit 2] ne correspond pas à la longueur de l'objet [300]

  5. A voir en vidéo sur Futura
  6. #5
    minushabens

    Re : Problème dans R avec la fonction NLS

    la fonction qr cherche à faire une certaine décomposition d'une matrice. Le message indique que le produit des dimensions de la matrice en question est 2 (donc il s'agit d'une matrice 1x2 ou 2x1) et que les données supposées entrer dans cette matrice sont au nombre de 300, ce qui ne convient pas...

    ça peut venir de diverses causes. Essaie un autre algorithme (paramètre "algorithm" de la fonction nls). Le défaut est Gauss-Newton et il ne convient pas toujours).

Discussions similaires

  1. problème avec fonction
    Par invite48da8aab dans le forum Mathématiques du collège et du lycée
    Réponses: 3
    Dernier message: 09/04/2014, 06h10
  2. Problème avec une fonction
    Par invitee732fdc2 dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 20/05/2012, 20h05
  3. Problème avec une fonction ?
    Par invited537792e dans le forum Électronique
    Réponses: 3
    Dernier message: 13/01/2012, 16h39
  4. probleme avec une asympote et une fonction exponentielle(Probleme d'enoncé?)
    Par invite3c19aac3 dans le forum Mathématiques du collège et du lycée
    Réponses: 15
    Dernier message: 04/12/2008, 17h26
  5. probleme php avec la fonction max()
    Par invite85dfba75 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 2
    Dernier message: 21/10/2008, 20h43