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 :

Fonctions utiles au traitement des chaines caracteres


Sujet :

R

  1. #1
    Membre du Club
    Homme Profil pro
    touristepationné
    Inscrit en
    Janvier 2012
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : touristepationné
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 132
    Points : 57
    Points
    57
    Par défaut Fonctions utiles au traitement des chaines caracteres
    Bonjour,

    Je cherche à extraire des données d'une page html, afin de remplir des cellules d'un tableau.
    J'ai besoin pour cela de trouver des mots, ou des nombres placés entre tel et tel mots ou caractères.
    Un excellent blog (puis-je le mettre en lien?) explique simplement et en français comment utiliser les fonctions dérivées de string, mais subsistent bien des interrogations concernant : sub, gsub, grep, match, regexpr, strsplit.

    Pourriez-vous m'expliquer et poster un exemple commenté par fonction?

    Merci beaucoup par avance, je ne trouve rien de vraiment explicite ailleurs.

    ++

  2. #2
    Membre habitué
    Homme Profil pro
    Analyste
    Inscrit en
    Février 2012
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste

    Informations forums :
    Inscription : Février 2012
    Messages : 62
    Points : 143
    Points
    143
    Par défaut
    Bonjour,

    Serait-ce ce blog? http://www.duclert.org/Aide-memoire-...caracteres.php

    Il est très bien fait, n'offre pas toujours toutes les réponses aux questions mais bien souvent, y jeter un oeil suffit à débloquer une situation.

    Si tu as des questions dans l'utilisation des expression régulières je suis là (mais je n'ai pas la science infuse...)

    A bientôt

  3. #3
    Membre confirmé
    Homme Profil pro
    MCU
    Inscrit en
    Juillet 2010
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : MCU
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2010
    Messages : 185
    Points : 486
    Points
    486
    Par défaut
    Bonjour,

    Sinon vous pouvez essayer ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    library(XML)
    ?readHTMLTable
    HTH

    Vincent

  4. #4
    Membre du Club
    Homme Profil pro
    touristepationné
    Inscrit en
    Janvier 2012
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : touristepationné
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 132
    Points : 57
    Points
    57
    Par défaut
    Guinue, il s'agit de ce blog : http://alea.fr.eu.org/

    Je connaissais le blog que tu indiques, qui est déjà un premier pas dans les explications, mais il me servira plus de mémo une fois que je serai familiarisé avec les fonctions. Les explications y sont très brèves et il n'y a pas d'exemple.

    Par exemple, il est écrit:
    sub(pattern, replacement, vect) : remplace la première occurrence du pattern par replacement dans chaque élément de vect.

    Quand je tape le code ci dessous, je ne parviens pas à comprendre la fin d'explication "chaque élément de vect".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    texte<- "la lune est un satellite"
    sub("l","OO", texte)
    [1] "OOa lune est un satellite"

  5. #5
    Membre du Club
    Homme Profil pro
    touristepationné
    Inscrit en
    Janvier 2012
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : touristepationné
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 132
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par vchouraki Voir le message
    Bonjour,

    Sinon vous pouvez essayer ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    library(XML)
    ?readHTMLTable
    HTH

    Vincent
    Quand je tape, library(XML) R me renvoie, "Erreur dans library(XML) : aucun package nommé ‘XML’ n'est trouvé"

  6. #6
    Membre habitué
    Homme Profil pro
    Analyste
    Inscrit en
    Février 2012
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste

    Informations forums :
    Inscription : Février 2012
    Messages : 62
    Points : 143
    Points
    143
    Par défaut
    Bonjour,

    Pour ce qui est de library(XML), as-tu téléchargé et installé le package XML?
    Ce n'est pas un package de base, d'où la necessité de l'appeler par la fonction library.

    Pour sub(), ton vecteur texte ne contient bien qu'un élément, une chaine de caractères, dans lequel il remplace le premier "l" qu'il trouvera par une autre chaine de caractères de ton choix.
    Ici tu remplaces la première lettre puisque c'est un "l" par "00", et c'est tout.
    Si tu veux remplacer tous les "l" voir la fonction gsub("chaine recherchée","chaine de remplacement",vecteur à parcourir, perl=T ).
    C'est là que ça devient intéressant avec l'utilisation des expressions régulières --> http://ciam.inra.fr/r4ciam/node/148

    A plus!

  7. #7
    Membre du Club
    Homme Profil pro
    touristepationné
    Inscrit en
    Janvier 2012
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : touristepationné
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 132
    Points : 57
    Points
    57
    Par défaut
    Merci à tous les 2, vos informations vont certainement m'aider... une fois que j'aurai lu tout ça.

  8. #8
    Membre du Club
    Homme Profil pro
    touristepationné
    Inscrit en
    Janvier 2012
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : touristepationné
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 132
    Points : 57
    Points
    57
    Par défaut
    Bonjour,

    Je viens d'essayer ce code sur un fichier txt contenant un code source html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    txt <- read.table("CodeSource.txt", sep=">",header=FALSE, fill=TRUE)
    gsub('[[:space:]]+', ' ', txt)
    write.table (txt, file = "SansEspaceTxt.txt")
    Le résultat me laisse des espaces ressemblant à des tabulations.
    En plus, la numérotation des lignes est interrompue au niveau de ces blancs.
    C'est embêtant pour la suite de mon code car je voudrais me servir des numéros de lignes pour me déplacer dans mon texte.

    Guinue, ou quelqu'un d'autre, pourrais-tu me débloquer?

    ++

  9. #9
    Membre confirmé
    Homme Profil pro
    MCU
    Inscrit en
    Juillet 2010
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : MCU
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2010
    Messages : 185
    Points : 486
    Points
    486
    Par défaut
    Bonjour,

    Pourriez-vous illustrer un peu plus? Avec un morceau de code html à problème et un morceau de votre data.frame en plus du code si c'est possible.

    Vincent

  10. #10
    Membre du Club
    Homme Profil pro
    touristepationné
    Inscrit en
    Janvier 2012
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : touristepationné
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 132
    Points : 57
    Points
    57
    Par défaut voici le bout de code source
    voici le bout de code source. une fois la fonction précédente appliquée, il reste de larges espaces vides sur plusieurs lignes.

    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
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
     
    		<a id="aujourdhuiLink" href="/_d2012-08-29?">
    			Aujourd'hui</a>
    		<a id="demainLink" href="/_d2012-08-30?">
    			Demain</a>
        </div>
        <script type="text/javascript">
    			var bLinkCalendrier = new YAHOO.widget.Button("selectedDateLink");
    			YAHOO.util.Event.onContentReady("grtdes", function (){
                       var bLinkHier = new YAHOO.widget.Button("hierLink");
                       var bLinkAujourdhui = new YAHOO.widget.Button("aujourdhuiLink");
                       var bLinkDemain = new YAHOO.widget.Button("demainLink");
    			});                                
        </script>
    	<input type="hidden" id="selectedDateValue" value="16/08/2012">
    	<div id="calContainer" style="display:none;"></div>
    </div></div>
    </div>	<div class="yui-gc cartouche">
    <BR>
    		<!-- nom qsdf -->
    		<div class="yui-u first nom">
    			jeudi&nbsp;:&nbsp;
    			n&nbsp;(x)
    		</div>
     
    		<!-- liens  -->
    		<div class="yui-u">
    			<div class="lien">
    				x | <a href="/2012-08-16_d2012-08-16#y">
    								fds</a>
    						 | <a href="/2012-08-16_d2012-08-16#y">
    								L'Aers</a>
    						 | <a href="/ys-iop-poi/2012-08-16_d2012-08-16#y">
    								s</a>
    						 | <a href="/ys-iop-poi/2012-08-16_d2012-08-16#y">
    								oy</a>
    						 | <a href="/ys-iop-poi/2012-08-16_d2012-08-16#y">
    								Ds</a>
    						</div>
    		</div>
     
    		<!-- f grt -->
    		<div class="yui-u first nomgrt">
    			<span class="TQQ">
    			<strong>
     
    						1<sup>ère</sup> grt - 
    					jklm dfd Ge</strong>
    			</span>
    		</div>
    		<!-- INSCRIPTION -->
    		<div class="yui-u INSCRIPTION s">
    			<!-- liens vers les autres iopqsdf -->
    			<span class="ndzqerogrt fond">1</span>	
    					<a href="/2012-08-16-gfdqgrg-poi-jklms_c459408"	accesskey="2">
    							<span class="numerogrt ">2</span>
    						</a>
    					<a href="/2012-08-16-gfdqgrg-poi-jklme_c459409"	accesskey="3">
    							<span class="numerogrt ">3</span>
    						</a>
    					<a href="/2012-08-16-gfdqgrg-poi-jklms_c459410"	accesskey="4">
    							<span class="numerogrt M">4</span>
    						</a>
    					<a href="/2012-08-16-gfdqgrg-poi-jklm-ma_c459411"	accesskey="5">
    							<span class="numerogrt M">5</span>
    						</a>
    					<a href="/2012-08-16-gfdqgrg-poi-jklm-t_c459412"	accesskey="6">
    							<span class="numerogrt ">6</span>
    						</a>
    					<a href="/2012-08-16-gfdqgrg-poi-jklm-as_c459413"	accesskey="7">
    							<span class="numerogrt ">7</span>
    						</a>
    					<a href="/2012-08-16-gfdqgrg-poi-jklm-l_c459414"	accesskey="8">
    							<span class="numerogrt ">8</span>
    						</a>
    					<br>
    			<!-- pictos fresdfr -->
    			<img src="/web/images/pictos/azerty/1_01.gif" alt="f">
    			<img src="/web/images/pictos/azerty/01.gif" alt="fer">
    			<img src="/web/images/pictos/azerty/21.gif" alt="sdf">
    			<img src="/web/images/pictos/azerty/31.gif" alt="zerdfs">
    			<img src="/web/images/pictos/azerty/41.gif" alt="fezqfef">
    			</div>
    		<BR>
    		<!-- qdsgr -->
    		<span class="infogrt">
    			Départ&nbsp;<strong>13h50</strong>
    			<br><br>type
    				-&nbsp;info
    				-&nbsp;info
    				-&nbsp;info;
     
    				-&nbsp;2875m
     
    			-&nbsp;9999&nbsp;info
    				-&nbsp;info
    				-&nbsp;info&nbsp;:&nbsp;info<br>
    			<span class="conditiongrt">info</span><br>
    			</span>
    		<br>
    		<!-- info -->
    		</div><script type="text/javascript">
    	fillWithRows = function(id, n) {
    		var tr = document.getElementById(id);
    		var fsdf = document.getElementById('dfs');
    		if(id == 'sdfdsf' && null == dsfsdsf) {
    			n+=3;
    		} 
    		if(null != tr) {
    			tr.firstChild.height = (n * 20) + 'fd';
    		}
    	}
    </script>
     
    <script type="text/javascript" src="http://banzai.dfs.com/web/sdfdfsdf_sdfdf7.js"></script>

  11. #11
    Membre confirmé
    Homme Profil pro
    MCU
    Inscrit en
    Juillet 2010
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : MCU
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2010
    Messages : 185
    Points : 486
    Points
    486
    Par défaut
    Bonjour,

    Si on execute votre code, il y a des différences entre le fichier txt et l'objet importé. Par exemple, la ligne 2 du fichier :

    La ligne 2 de l'objet txt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    > txt[2,]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       V1
    2 \t\t\tAujourdhui</a>\n\t\t<a id="demainLink" href="/_d2012-08-30?">\n\t\t\tDemain</a>\n    </div>\n    <script type="text/javascript">\n\t\t\tvar bLinkCalendrier = new YAHOO.widget.Button("selectedDateLink");\n\t\t\tYAHOO.util.Event.onContentReady("grtdes", function (){\n                   var bLinkHier = new YAHOO.widget.Button("hierLink");\n                   var bLinkAujourdhui = new YAHOO.widget.Button("aujourdhuiLink");\n                   var bLinkDemain = new YAHOO.widget.Button("demainLink");\n\t\t\t});                                \n    </script>\n\t<input type="hidden" id="selectedDateValue" value="16/08/2012">\n\t<div id="calContainer" style="display:none;"></div>\n</div></div>\n</div>\t<div class="yui-gc cartouche">\n<BR>\n\t\t<!-- nom qsdf -->\n\t\t<div class="yui-u first nom">\n\t\t\tjeudi&nbsp;:&nbsp;\n\t\t\tn&nbsp;(x)\n\t\t</div>\n\t\t\n\t\t<!-- liens  -->\n\t\t<div class="yui-u">\n\t\t\t<div class="lien">\n\t\t\t\tx | <a href="/2012-08-16_d2012-08-16#y">\n\t\t\t\t\t\t\t\tfds</a>\n\t\t\t\t\t\t | <a href="/2012-08-16_d2012-08-16#y">\n\t\t\t\t\t\t\t\tLAers</a
      V2
    2
    C'est parce qu'il y a des guillemets dans votre fichier et R en tient compte dans le read.table ce qui peut créer des décalages. On peut régler ce problème avec l'argument quote :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    txt <- read.table("CodeSource.txt", sep=">",header=FALSE, fill=TRUE, quote="")
    sinon vous pouvez utiliser la fonction readLines plutôt que read.table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    txt <- readLines("CodeSource.txt")
    Le résultat n'est pas le même mais c'est peut-être plus pratique pour travailler avec des expression rationnelles...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    > txt[2]
    [1] "\t\t\tAujourd'hui</a>"
    > gsub("[[:space:]]+", "", txt[2])
    [1] "Aujourd'hui</a>"
    Pour enlever les balises et les espaces :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gsub("<.+>|[[:space:]]+", "", txt)
    etc

    HTH

    Vincent

  12. #12
    Membre du Club
    Homme Profil pro
    touristepationné
    Inscrit en
    Janvier 2012
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : touristepationné
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 132
    Points : 57
    Points
    57
    Par défaut
    Vincent, quand tu écris:
    gsub("<.+>|[[:space:]]+", "", txt)
    <.+>| ça veux dire quoi en bon français?

    Sinon votre modif avec read lines me plait je vais la garder.
    Quant à mon erreur, votre affichage de ligne 2 m'a permis de la comprendre. Les espaces ont bien disparu mais pas "\t" qui n'apparait pas à l'écran lorsque j'ouvre le fichier .txt .

  13. #13
    Membre du Club
    Homme Profil pro
    touristepationné
    Inscrit en
    Janvier 2012
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : touristepationné
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 132
    Points : 57
    Points
    57
    Par défaut
    J'essaye Maintenant de supprimer les "\t" mais je n'y parviens pas.
    gsub et str_replace_all semblent inefficaces...

  14. #14
    Membre confirmé
    Homme Profil pro
    MCU
    Inscrit en
    Juillet 2010
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : MCU
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2010
    Messages : 185
    Points : 486
    Points
    486
    Par défaut
    Bonjour,

    bizarre... Dans l'exemple précédent, [[:space:]] inclut les tabulations. Si vous ne voulez supprimer que les tabulations :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    > test <- "\ta\tb\tc\td"
    > test
    [1] "\ta\tb\tc\td"
    > gsub("\t", "", test)
    [1] "abcd"
    > gsub("\\t", "", test)
    [1] "abcd"
    Peut-être cela dépend-il du système d'exploitation? Les informations sur le mien :

    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
    > version
                   _                            
    platform       x86_64-pc-linux-gnu          
    arch           x86_64                       
    os             linux-gnu                    
    system         x86_64, linux-gnu            
    status                                      
    major          2                            
    minor          15.1                         
    year           2012                         
    month          06                           
    day            22                           
    svn rev        59600                        
    language       R                            
    version.string R version 2.15.1 (2012-06-22)
    nickname       Roasted Marshmallows
    HTH

    Vincent

  15. #15
    Membre confirmé
    Homme Profil pro
    MCU
    Inscrit en
    Juillet 2010
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : MCU
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2010
    Messages : 185
    Points : 486
    Points
    486
    Par défaut
    Citation Envoyé par B65AcR Voir le message
    Vincent, quand tu écris:


    <.+>| ça veux dire quoi en bon français?

    Sinon votre modif avec read lines me plait je vais la garder.
    Quand a mon erreur, votre affichage de ligne 2 m'a permis de la comprendre. Les espaces ont bien disparu mais pas "\t" qui n'apparait pas a l'écran lorsque j'ouvre le fichier .txt .
    Oups je n'avais pas vu ce post, désolé.

    "<.+>" veut dire "n'importe quoi (.) mais au moins quelque chose (+)" compris entre "<" et ">", donc par exemple une balise html quel que soit son contenu. Après il faut faire attention et vérifier que seules les balises sont supprimées. En effet il n'est pas impossible qu'une chaine de caractères comme "<exemple>toto</exemple>" soit reconnue comme un seul bloc par l'expression rationnelle ci-dessus puisqu'elle commence par "<", se termine par ">" et contient quelque chose.

    Le "|" représente le "ou". Le gsub ici essaye de supprimer tout ce qu'il reconnait comme une balise html ou un espace (blanc, tabulation, etc).

    Pour "\t", c'est le code de la tabulation qui peut soit apparaitre tel quel, comme dans le resultat de readLines("exemple.txt") ou comme un blanc. Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    > test <- "a\tb\tc\td"
    > print(test)
    [1] "a\tb\tc\td"
    > cat(test, "\n")
    a	b	c	d
    Pour un aperçu plus détaillé des expressions rationnelles sous R:

    HTH

    Vincent

  16. #16
    Membre du Club
    Homme Profil pro
    touristepationné
    Inscrit en
    Janvier 2012
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : touristepationné
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 132
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par vchouraki Voir le message


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    > test <- "\ta\tb\tc\td"
    > test
    [1] "\ta\tb\tc\td"
    > gsub("\t", "", test)
    [1] "abcd"
    > gsub("\\t", "", test)
    [1] "abcd"
    ça, ça marche. Mais si vous enregistrez la variable test dans un txt, puis que vous l'ouvrez avec read line, puis que vous appliquez gsub, là ça marche plus!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    test <- "\ta\tb\tc\td"
    write.table (test, file = "Test.txt")
    test <- read.table("Test.txt", sep=">",header=FALSE, fill=TRUE)
    gsub("\\t", "", test)
     test

  17. #17
    Membre confirmé
    Homme Profil pro
    MCU
    Inscrit en
    Juillet 2010
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : MCU
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2010
    Messages : 185
    Points : 486
    Points
    486
    Par défaut
    Bonjour,

    write.table est utilisé pour écrire un data.frame sous forme de fichier texte. Pour les chaînes de caractères, mieux vaut utiliser write.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    test.avant <- "a\tb\tc\td"
    write(test.avant, "Test.txt")
    test.apres <- readLines("Test.txt")
    gsub("\t", "", test.avant)
    [1] "abcd"
    gsub("\t", "", test.apres)
    [1] "abcd"
    HTH

    Vincent

  18. #18
    Membre du Club
    Homme Profil pro
    touristepationné
    Inscrit en
    Janvier 2012
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : touristepationné
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 132
    Points : 57
    Points
    57
    Par défaut Merveilleux!
    Super, j'ai pu faire ce que je voulais!! Merci Beaucoup!!
    Dois-je cloturer ce sujet, sachant que je vais bientot chercher à importer des mots et nombres du fichier texte vers un tableau csv?

  19. #19
    Membre confirmé
    Homme Profil pro
    MCU
    Inscrit en
    Juillet 2010
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : MCU
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2010
    Messages : 185
    Points : 486
    Points
    486
    Par défaut
    Bonjour,

    Oui je pense que vous pouvez clotûrer le sujet.

    Vincent

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/02/2014, 02h25
  2. [2008R2] Traitement des chaines vides et des null
    Par nlievain dans le forum SSIS
    Réponses: 1
    Dernier message: 29/10/2012, 16h34
  3. Traitement des chaines caractères avec un séparateur
    Par Lolitaaa dans le forum Général Java
    Réponses: 2
    Dernier message: 09/07/2010, 12h21
  4. quelques fonctions pratiques de traitement des chaines
    Par Zolive33 dans le forum Contribuez
    Réponses: 0
    Dernier message: 24/12/2009, 11h24
  5. Fonction récursive pour traitement des fichiers
    Par Montor dans le forum Contribuez
    Réponses: 6
    Dernier message: 29/09/2008, 07h45

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