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 :

Dupliquer les caractères dans certaines cellules.


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    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
    Par défaut Dupliquer les caractères dans certaines cellules.
    J'ai un grand jeu de donnée provenant d'arbres qui se présente sous cette forme.


    Clones Individu Allele1 Allele2 Allele3 etc
    clone1 1 A T CG etc
    clone1 2 A T CG etc
    clone1 3 A T CG etc
    clone1 4 A T AT etc
    clone1 5 A T CG etc
    clone2 etc
    clone2 etc

    Dans les colonnes alleles, je dois faire en sorte que les lettre seules soient doublées :
    Ainsi, "A" devient "AA"
    Mais "GT" reste "GT"


    Quelles fonctions dois-je utiliser pour mener a bien cette tache selon vous?

    Merci de votre aide.

  2. #2
    Membre Expert
    Inscrit en
    Novembre 2009
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 707
    Par défaut Dupliquer les caractères dans certaines cellules
    Bonjour,

    Une proposition :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    > df <- data.frame(allele=c("A","T","CG"),stringsAsFactors=FALSE)
    > df$allele <- ifelse(nchar(df$allele)==1,paste0(df$allele,df$allele),df$allele)
    > df
      allele
    1     AA
    2     TT
    3     CG
    Cordialement,

  3. #3
    Membre averti
    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
    Par défaut
    Bonjour,

    Merci pour votre réponse. J'ai tenté d'intégrer cela, mais j'ai un message d'erreur :

    Error in df[row, col] : incorrect number of dimensions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for (row in 1:nrow(df)){
      for (col in 1:ncol(df)) {
        df <- ifelse(nchar(df[row,col])==1,paste0(df[row,col],df[row,col]),df[row,col])
      }}

  4. #4
    Membre Expert
    Inscrit en
    Novembre 2009
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 707
    Par défaut Dupliquer les caractères dans certaines cellules
    Bonjour,

    Vous avez oublié de préciser la cellule dans le terme de gauche de l'affectation.

    D'autre part R traite toutes les observations en parallèle, il n'est pas nécessaire de faire une double boucle, une boucle sur les variables suffit.

    Cordialement,

Discussions similaires

  1. [XL-2016] recopier les données de certaines cellules dans un autre onglet
    Par pat33bordeaux dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/04/2018, 05h07
  2. Réponses: 1
    Dernier message: 11/10/2017, 16h12
  3. Réponses: 0
    Dernier message: 04/02/2015, 10h46
  4. [XL-2007] copy destination sans les formules qui sont dans certaines Cellules de la source
    Par scoubi77 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 21/09/2014, 10h48
  5. [MIPS R3000] Dupliquer les caractères d'une chaîne dans une autre
    Par hajerboug dans le forum Autres architectures
    Réponses: 1
    Dernier message: 16/02/2009, 19h57

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