première occurence

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Mathilde RIBET
Messages : 15
Enregistré le : 15 Mai 2017, 11:26

première occurence

Messagepar Mathilde RIBET » 23 Mar 2018, 10:09

Bonjour

J'ai une dataframe avec certaines colonnes qui contiennent un ensemble de caractère, uniquement une lettre ou une date
Exemple

Code : Tout sélectionner

VELO    V   12/09/2008  V    B
COURSE  C   13/09/2007  C    V
MARCHE  C   09/08/2018  V    C


Port chaque ligne je voudrais récupérer l'indice de la première lettre qui n'est pas un V. Avec l'exemple cela donnerait :
ligne 1 : 5
ligne 2 : 2
ligne 3 : 2

Serge Rapenne
Messages : 1426
Enregistré le : 20 Aoû 2007, 15:17
Contact :

Re: première occurence

Messagepar Serge Rapenne » 23 Mar 2018, 10:26

Bonjour,

une possibilité :

Code : Tout sélectionner

dta
      V1 V2         V3 V4 V5
1   VELO  V 12/09/2008  V  B
2 COURSE  C 13/09/2007  C  V
3 MARCHE  C 09/08/2018  V  C

apply(dta,1,function(x) min(which(nchar(x)==1 & x!="V")))
[1] 5 2 2


Serge

Mathilde RIBET
Messages : 15
Enregistré le : 15 Mai 2017, 11:26

Re: première occurence

Messagepar Mathilde RIBET » 23 Mar 2018, 10:45

Merci Serge !
Est ce qu'il aurait été possible d'utiliser la fonction grep ici ?

Serge Rapenne
Messages : 1426
Enregistré le : 20 Aoû 2007, 15:17
Contact :

Re: première occurence

Messagepar Serge Rapenne » 23 Mar 2018, 10:52

Effectivement :

par ex:

Code : Tout sélectionner

apply(dta,1,function(x) min(grep("^[^V]$",x)))
[1] 5 2 2

Et comme ça, je trouve ça plus propre

Serge


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 1 invité