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 :

unmatched opening bracket


Sujet :

R

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Avril 2019
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Avril 2019
    Messages : 26
    Points : 8
    Points
    8
    Par défaut unmatched opening bracket
    Bonjour,

    Je rencontre un soucis avec un script, ca fait plus d'une heure que je bloque dessus.
    R me dit que j'ai des unmatched opening bracket.
    Pourtant, après avoir relu mon code des dizaines de fois, je n'ai pas trouvé mon erreur. En plus quand je clique sur les accolades/parenthèse soit disant fautives, elle sont bien "matched" avec une autre, qui est surlignées en grise.

    Bref, je ne comprend pas d'ou vient le soucis. Merci de me venir en aide.


    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    library(tidyverse)
     
    remplacer_manquant <- function(list_genotype){
     
      df_diff <- data.frame()
     
        # initialisation :
      count <- 0 # sert plus tard pour connaitre le % d'avancement du calcul.
      debut <- Sys.time() # timer pour connaitre la durée totale du calcul.
     
        for i in list_genotype{
     
         # initialisation :
         genotype_consensus <- NULL # Genotype consensus pour un numéro de clone unique (1 ligne)-
          list_genotype_consensus <- NULL # liste des listes des genotypes consensus (x lignes)
     
         # liste des individus pour ce numéro de clone i :
     
          list_individus <- df  %>%  filter(clone_id == i) %>% slice()
     
            for row in 1:nrow(list_individus){
     
            individu <- list_individus %>% slice(row)
            print(individu)
            text_individu <- list_individus[row,]
     
            # Initialisation 
            nb_NA <-  sum(is.na(individu))
     
                  if (nb_NA>60){ # ncol(individu)*80/100
     
                          for col in 3:ncol(df){ # nb : '3' car les deux premières colonnes de dff ne sont pas des alleles
     
                          table <- as.data.frame(table(df[,col][which(df$clone_id==i)])) #création d'un tableau de correspondance, qui nous donne l'occurence des différents allele pour un snp donné.
                          max_allele <- max(table$Freq) # on extrait le nombre de fois ou l'allele le plus représenté apparait dans la colonne.
                          allele_majoritaire <- as.character(t$Var1[which(table$Freq==max_allele)]) # on extrait les charactères alphabétiques de l'allele
     
                               if (max_allele>=3){ # si l'allele apparait au moins 3 fois
                               # on remplace les NAs par l'allele majoritaire
                               df[,col][is.na(df[,col])] <- allele_majoritaire
                               #création d'un génotype consensus pour chaque numéro de clone
                               genotype_consensus <- append(genotype_consensus, allele_majoritaire)
                               # print(genotype_consensus)
     
                               }else{
                               # message(c(message = 'le numéro de clone ',i, message =' n a pas assez de SNPs identiques pour compléter les NAs'))
                               genotype_consensus <- append(genotype_consensus, NA)
                               }
                          }
     
                   }else{  
                    message(c(message = 'l individu ', text_individu, message = ' a trop de NA. Les NA n ont pas été complétées'))
                   }
            }
     
         list_genotype_consensus <- rbind(as.list(list_genotype_consensus),as.list(genotype_consensus))
     
         # Progression du temps de calcul :
         count <- count + 1
         x <- round((100*count)/length(list_genotype),0)
         message(c(x), message = "%")
     
        }
     
    # Temps écoulé :
    fin <- Sys.time()
    Time_elapsed <- fin-debut
    print(Time_elapsed)
     
    #afficher résultats
     
    }
     
    # lancer la fonction :
    resultat <- remplacer_manquant(unique(df$clone_id))

  2. #2
    Membre habitué
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Décembre 2015
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2015
    Messages : 72
    Points : 180
    Points
    180
    Par défaut
    Bonjour,

    le soucis vient de l'écriture des boucles. Petit exemple :

    Code R : Sélectionner tout - Visualiser dans une fenêtre à part
    for(i in list_genotype){}

    et non pas :

    Code R : Sélectionner tout - Visualiser dans une fenêtre à part
     for i in list_genotype{}

    Cordialement

    VV

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Avril 2019
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Avril 2019
    Messages : 26
    Points : 8
    Points
    8
    Par défaut
    Merci, j'ai réussi à résoudre le problème.
    Bonne journée

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

Discussions similaires

  1. Réponses: 16
    Dernier message: 27/05/2017, 10h14
  2. [Kylix] [Kylix 3] Installation version Open
    Par muadib dans le forum EDI
    Réponses: 1
    Dernier message: 14/03/2003, 16h37
  3. Réponses: 5
    Dernier message: 24/11/2002, 11h36
  4. [Kylix] Télécharger Kylix 3 Open Edition
    Par RDM dans le forum EDI
    Réponses: 2
    Dernier message: 27/08/2002, 11h28
  5. Choix d'un EDI pour la 3D (Open GL, Portable)
    Par Riko dans le forum OpenGL
    Réponses: 6
    Dernier message: 01/08/2002, 12h25

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