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.
Dupliquer les caractères dans certaines cellules
Bonjour,
Une proposition :
Code:
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,
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,