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 :

Fonction if avec condition =vide


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2024
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2024
    Messages : 1
    Par défaut Fonction if avec condition =vide
    Bonjour,

    Je découvre un peu R et je souhaite transposer des process Excel sous R.

    Sous Excel j’ai une formule (dupliquée sur de très nombreuses lignes) qui est la suivante :
    =si(C2=«*»;D2+E2;D2+F2)

    Ma data frame s’appelle data et mes colonnes pour faire simple c’est colonne À, colonne B, …

    Sous R, ma condition ne fonctionne pas :
    If (data$colonneC == «») {

    Savez-vous ce qui plante ?

    Merci pour votre aide

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 491
    Par défaut
    bonjour ,
    quand vous écrivez cela renvoie un vecteur booléen contenant TRUE si la valeur de colonneC est vide sinon FALSE,

    dans une condition if(data$colonneC=="") le if ne "prend" que la première valeur du vecteur pour tester la condition
    un petit exemple comment changer une valeur d'une colonne en fonction d'une valeur d'une autre colonne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    df=data.frame(a=1:5,b=c("a","","c","d","e"),d=rep(0,5))
     print(df$b=="") ## FALSE  TRUE FALSE FALSE FALSE
    ## mettre 1 dans la colonne d quand la valeur de b est vide
    df$d[df$b == ""] <- 1
    #ou
    df$d <- ifelse(df$b == "", 1, 0)

Discussions similaires

  1. [WD17] Fonction Hfiltre avec condition
    Par lololebricoleur dans le forum WinDev
    Réponses: 1
    Dernier message: 17/07/2012, 23h23
  2. Aide avec fonction SUM avec condition
    Par Beaudelicius dans le forum Langage SQL
    Réponses: 2
    Dernier message: 11/01/2012, 22h30
  3. fonction somme avec condition
    Par damien40 dans le forum VBA Access
    Réponses: 1
    Dernier message: 07/05/2008, 19h33
  4. fonction "REPLACE" avec condition
    Par emilek dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 21/03/2007, 17h08
  5. [Oracle 10] Fonction ROWNUM avec condition
    Par SQL_Pour_les_Nuls dans le forum Langage SQL
    Réponses: 6
    Dernier message: 03/07/2006, 15h06

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