IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

argument non numérique pour un opérateur binaire


Sujet :

R

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Février 2016
    Messages : 8
    Points : 7
    Points
    7
    Par défaut argument non numérique pour un opérateur binaire
    Bonjour,

    Je me permets de vous demander de l'aide car je ne comprends pas d'où provient mon erreur. J'ai tourné et retourné la solution dans tous les sens....mais la je bloque, littéralement!
    HELP PLEASE,

    Je vous explique :
    j'ai deux tableaux (un tableau capteur et l'autre station) avec 2 colonnes (la première c'est un nom id (de la station ou du capteur) et la deuxième c'est mes valeurs). je fais un test avec 23 valeurs pour mes deux tableaux.

    je n'arrive pas à soustraire deux variables :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    Station:
    data = read.csv("C:/Users/stations.CSV",header=TRUE, sep=";")
     
     capteur
    data2 = read.csv("C:/Users/capteur.CSV",header=TRUE, sep=";")
     
    # Entrées 
    nrow = 24
    ncol = 2
     
    erreurDeLectureStation = 0.03
    erreurDeLectureCapteur = 0.05
     
    # valeur max pour facteur1
    facteur1Max = 50;
     
    # Can be true/false
    facteur3MethodoDeMesure = TRUE
     
    # Pourcentage de confiance
    p1 = 0.5
    p2 = 0.4
    p3 = 0.1    
     
    for (i in 1:nrow)
    {
     
        # On lit la valeur
        stationValeur = data[i,2]
        capteurValeur = data2[i,2]
     
        # On calcule les facteurs
     
        facteur1 = abs((stationValeur - capteurValeur)/stationValeur)
        if (facteur1 > facteur1Max)
            facteur1 = 0
        facteur1Pourcentage = facteur1 * 100 / facteur1Max

    et là, une erreur s'affiche : Error in stationValeur - capteurValeur :
    argument non numérique pour un opérateur binaire

    j'ai bien regardé que mon CVS soit en nombre (les données sont avec des virgules, tout est en chiffre...)
    Avez vous une solution ou une idée?

    merci par avance pour votre aide!!!

  2. #2
    Membre expérimenté
    Inscrit en
    Novembre 2009
    Messages
    703
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 703
    Points : 1 311
    Points
    1 311
    Par défaut read.csv2
    Bonjour,

    Si vos données sont avec des virgules et séparateur point virgule, c'est que votre fichier csv est au format français.

    Je vous conseille de vérifier vos imports avec la fonction str(). Il est probable que vos données décimales soient au format texte.

    Si vous utilisez la fonction read.csv() il faut préciser le séparateur de champ sep=";" mais aussi le séparateur décimal dec=",".

    Vous pouvez aussi utiliser la fonction read.csv2() qui est paramétrée pour lire les fichiers au format français par défaut.

    Cordialement,

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Février 2016
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Merci!!!!

    C'est exactement ca! je ne savais pas qu'il y avait un format français csv!

    Merci bcp bcp bcp pour votre aide! je tournais en rond!
    1000mercis!

  4. #4
    Membre expérimenté
    Inscrit en
    Novembre 2009
    Messages
    703
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 703
    Points : 1 311
    Points
    1 311
    Par défaut format csv
    Bonjour,

    Merci pour votre retour.

    Les fichiers csv sont des fichiers texte avec séparateurs normalisés. Il existe 2 formats :

    • Le format anglais (séparateur de colonnes : virgule ; séparateur de décimales : point) se lit avec la fonction read.csv().
    • Le format français (séparateur de colonnes : point-virgule ; séparateur de décimales : virgule) se lit avec la fonction read.csv2().


    Pour bien comprendre vous pouvez :

    • ouvrir le fichier csv dans un éditeur de texte,
    • remplacer les virgules par des points,
    • remplacer les points-virgules par des virgules,
    • enregistrer le fichier,
    • réimporter le fichier dans R avec la commande read.csv().


    Cordialement,

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/03/2019, 06h25
  2. Réponses: 0
    Dernier message: 09/12/2017, 18h53
  3. Réponses: 2
    Dernier message: 04/08/2016, 09h22
  4. Réponses: 2
    Dernier message: 25/12/2013, 22h58
  5. Réponses: 8
    Dernier message: 03/11/2007, 18h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo