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 :

Extraire un vecteur avec une observation en moins


Sujet :

R

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2004
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 173
    Points : 127
    Points
    127
    Par défaut Extraire un vecteur avec une observation en moins
    Bonjour,

    j'ai un vecteur y de longueur 10, et je souhaite créer une fonction qui crée un vecteur de longueur 9 et qui contient les observations de y sauf la n-ième.

    Par exemple, j'ai :

    y=[1;4;6;3;5;9;0;8;5;3]

    et je veux créer une fonction f avec un paramètre obs qui renverrai le vecteur y sans la obs-ième observation. Autrement dit f(3) devrait me renvoyer

    [1;4;3;5;9;0;8;5;3] (j'ai juste enlevé la 3ème observation).

    J'ai tenté ceci :
    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
     
    y=rnorm(10)
    f=function(obs){
    	ymi=c(1:(length(y)-1))
    	j=1
    	for(i in 1:length(y)){
    		if (i!=obs){
    			ymi[j]=y[j]
    		}
    		else{
    			j=j-1
    		}
    		j=j+1
    	}
    	return(ymi)
    }
    sauf que ça ne marche pas comme je veux. Il me renvoie le vecteur y auquel il a enlevé la dernière observation. Est ce que quelqu'un pourrait me dire où se trouve le problème, voire m'indiquer si cela existe, une fonction R qui ferait exactement la même chose ?

    Merci.

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 016
    Points : 23 705
    Points
    23 705
    Par défaut
    Salut,

    Pas besoin de fonction pour faire ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    y <- rnorm(10)
    n <- 5
    y[-n]
    Remplace n par le rang que tu souhaites enlever...

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Membre habitué
    Inscrit en
    Janvier 2004
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 173
    Points : 127
    Points
    127
    Par défaut
    Merci Ced. C'est rapide, précis et simple de surcroit. Je me doutais bien qu'il était possible de faire plus simple, mais je pense que ce n'était pas évident de trouver ça dans l'aide (en tout cas, pas simple vu ma maitrise de l'anglais). Tu dois sacrément t'y connaitre en R !

  4. #4
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 016
    Points : 23 705
    Points
    23 705
    Par défaut
    Euh non, pas tant que ça.
    Par contre, je consulte régulièrement la R Reference Card. C'est très pratique et la réponse à ta question était dedans .
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

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

Discussions similaires

  1. extraire année(date) avec une jointure = erreur
    Par gastoncs dans le forum Requêtes
    Réponses: 4
    Dernier message: 12/10/2012, 11h16
  2. extraire des url avec une feuille xsl
    Par sarah_sanchez dans le forum XSL/XSLT/XPATH
    Réponses: 27
    Dernier message: 09/08/2012, 08h32
  3. Extraire les vecteurs d'une matrice
    Par Goffer dans le forum OpenCV
    Réponses: 5
    Dernier message: 15/06/2010, 17h19
  4. Extraire des lignes avec une formule
    Par maxxxime dans le forum Excel
    Réponses: 9
    Dernier message: 15/06/2010, 17h05
  5. "Sorting" d'un vecteur avec une fonction de comparaison
    Par C.R.E.A.M dans le forum SL & STL
    Réponses: 4
    Dernier message: 02/02/2008, 17h25

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