Matrice sous R

Tout ce qui concerne notamment les outils de calcul numérique, de calcul formel ou de géométrie.
[participation réservée aux utilisateurs inscrits]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
manon13

Matrice sous R

Message non lu par manon13 »

bonjour a tous
est ce que qqn sait comment sous le logiciel R on fait pour tirer aléatoirement une ligne d'une matrice a 2 colonnes pour créer une sous matrice.
Le probleme est que ds la matrice les 2 colonnes sont taille et poids.
Qd on tire aléatoirement on veut garder la correspondance entre les nombres d colonne (ex:pour 189m 90kg) et les afficher comme ca ds la nouvelle sous matrice

si vs arrivait à m'aider ca serait génial
merci a ts j'espere que g été assez claire
MB
Administrateur
Administrateur
Messages : 8058
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant
Contact :

Message non lu par MB »

Je ne connais pas spécialement R, mais je pense que tu peux faire une boucle for sur le nombre de lignes que tu veux extraire. A chaque étape, tu sélectionnes un nombre au hasard (qui sera le numéro de la ligne) et tu récupères alors les deux éléments de cette ligne que tu ranges alors tout ça dans une autre matrice. Je ne vois pas trop le problème.

Je ne peux pas te donner le code exact.
manon13

Message non lu par manon13 »

merci de ton aide, g réussi a le faire sans boucle avec un tirage aleatoire simple.
merci qd meme
MB
Administrateur
Administrateur
Messages : 8058
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant
Contact :

Message non lu par MB »

manon13 a écrit :g réussi a le faire sans boucle avec un tirage aleatoire simple.
Tu peux poster le code ? (juste pour voir)
MB. (rejoignez pCloud et bénéficiez de 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
manon13

Message non lu par manon13 »

On fixe N=4 observations.

Code : Tout sélectionner

i=sample(1:55,4,T)
Dprime=D[i,]
Dprime
guiguiche
Modérateur général
Modérateur général
Messages : 8191
Inscription : vendredi 06 janvier 2006, 15:32
Statut actuel : Enseignant
Localisation : Le Mans
Contact :

Message non lu par guiguiche »

manon13 a écrit :i=sample(1:55,4,T)
Dprime=D[i,]
Dprime
Je trouve cela bien obscur (mais je ne connais pas R) !
MB
Administrateur
Administrateur
Messages : 8058
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant
Contact :

Message non lu par MB »

Je suppose que i contient les numéros des lignes de la matrice D à extraire (au nombre de 4 et tirés au hasard) et à placer dans la matrice Dprime.
MB. (rejoignez pCloud et bénéficiez de 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
guiguiche
Modérateur général
Modérateur général
Messages : 8191
Inscription : vendredi 06 janvier 2006, 15:32
Statut actuel : Enseignant
Localisation : Le Mans
Contact :

Message non lu par guiguiche »

Le problème avec ces logiciels en ligne de commande, c'est qu'il est vraiment fastidieux de savoir si on peut en avoir un usage intéressant, important ou nul. Il faut passer autant de temps à l'apprendre pour le découvrir que pour le connaître (apprentissage quasiment équivalent).
manon13 a écrit :On fixe N=4 observations.
Comment le fixe-t-on ?

Où (et comment) est défini D ?
manon13 a écrit :i=sample(1:55,4,T)
N'est-ce pas D plutôt que T ? Mais peut-être n'ai-je rien compris.
manon13 a écrit :Dprime=D[i,]
Qu'y a-t-il après la virgule ? J'ai voulu tester avec un j mais j'ai eu droit à une réprimande du logiciel.
manon13 a écrit :Dprime
C'est pour l'affichage ?

Je sais que je suis fainéant et que je n'ai pas ouvert l'aide. Avec un bon exemple, je serais peut-être intéressé pour apprendre à utiliser ce logiciel.

Cordialement.
manon13

Message non lu par manon13 »

alors en fait o départ tu pren une matrice qqconque que tu appelle D. cette matrice doi avoir 2 colonnes.

on te demande de faire un tirage aléatoire N de plusieur ligne de notre matrice pour former une nouvelle matrice.
moi je me suis fixé N=4.

Code : Tout sélectionner

i=sample(1:55,4,T)
dans une matrice sous R i représente les lignes.
sample représente un tirage aléatoire.
ma matrice de départ avait 55 lignes d'où le 1:55 qui veut dire que je tire aléatoirement d lignes entre 1 et 55. Le 4 représente le nombre de ligne que je veux qu'il me prenne parmi mé 55 lignes.
Le T veut dire replace=TRUE ca veut dire que le tirage aléatoire est avec remise.

Code : Tout sélectionner

Dprime=D[i,]
Dprime est le nom de ma nouvelle matrice.
qd j'ecrit D[i,] le i avant la virgule veut dire les lignes si je met rien après la virgule ( place réservé o colones) c'est que je veux que mon tirage prenne tte les colonnes pcq on me demande un tirage de lignes et non de colonnes.

lorsque tu réeécrit Dprime il t'affiche ta matrice Dprime.

j'espere que g ete assez claire.
si c'est pa le k je peu t'envoyer mon projet.
guiguiche
Modérateur général
Modérateur général
Messages : 8191
Inscription : vendredi 06 janvier 2006, 15:32
Statut actuel : Enseignant
Localisation : Le Mans
Contact :

Message non lu par guiguiche »

Je vais tester.
Par contre, comment as-tu défini ta matrice D ?
manon13

Message non lu par manon13 »

Code : Tout sélectionner

D=matrix(c(172,80,143,40,182,85,165,63,153,52,171,74,174,65,162,65,185,94,198,100,
159,55,160,65,192,89,150,50,183,84,180,85,163,55,190,80,185,73,150,45,190,100,164,70,182,
75,153,55,179,65,203,110,182,85,151,60,158,48,162,50,159,65,160,50,170,62,198,90,193,85,
170,80,185,75,200,103,165,60,174,65,202,99,171,85,153,50,168,58,186,79,170,80,162,58,185,
130,172,85,163,75,190,88,162,58,185,75,148,38,153,75),55,2,byrow=TRUE)
guiguiche
Modérateur général
Modérateur général
Messages : 8191
Inscription : vendredi 06 janvier 2006, 15:32
Statut actuel : Enseignant
Localisation : Le Mans
Contact :

Message non lu par guiguiche »

Nombres choisis aléatoirement ou provenant d'une expérience particulière ?
manon13

Message non lu par manon13 »

c(,) représente un vecteur où tu marque tte t valeur de la matrice de gauche a droite ensuite le nbre de ligne puis le nombre de colonne Byrow=TRUE je crois que c pr que ca aye a la ligne
manon13

Message non lu par manon13 »

non c toi qui la cré tu a juste un truc kon timpose c 2 colonne mé les lignes c o choix
guiguiche
Modérateur général
Modérateur général
Messages : 8191
Inscription : vendredi 06 janvier 2006, 15:32
Statut actuel : Enseignant
Localisation : Le Mans
Contact :

Message non lu par guiguiche »

Merci pour ces renseignements.
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message