Rajouter une colonne à un tableau

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

Sara Roux
Messages : 13
Enregistré le : 17 Sep 2011, 19:14

Rajouter une colonne à un tableau

Messagepar Sara Roux » 05 Oct 2011, 15:16

Salut à tout le monde.

ma question est la suivante:

J'ai deux tableaux
1. Liste des nombres a selectionner
2. Liste avec des nombres et autres info.

J'aimerais rajouter une colonne dans la deuxième liste dans laquelle x s'affiche quand un nombre de la liste 1 est presente dans la liste 2.
Je ne veux pas que selectionner le données mais vraiment faire colonne supplémentaire pour pas supprimér les données.

J'espère que quelqu'un puisse m'aider..
Merci beaucoup

Sara

Alexis Thieullen
Messages : 128
Enregistré le : 04 Jan 2011, 12:11

Messagepar Alexis Thieullen » 06 Oct 2011, 06:35

Bonjour,
Un exemple de données serait pratique pour pouvoir t'aider...
Sinon, je dirais :

Code : Tout sélectionner

a <- data.frame(x = sample(1:20,10))
    x
1  14
2  11
3   7
4  12
5   3
6  17
7   5
8   9
9   1
10 20

b <- data.frame(x = sample(1:20,10), y = rnorm(10), z = "o", stringsAsFactors = FALSE)
    x          y z
1   2 -0.2381000 o
2   8  0.8561290 o
3  13  0.1183023 o
4  14  0.6067933 o
5   5 -2.0150610 o
6   6  0.2368212 o
7   9  0.2588645 o
8  17 -1.9118455 o
9  10 -0.2912813 o
10 11  0.9407040 o

b$z[which(b$x %in% a$x)] <- "x"
    x          y z
1   2 -0.2381000 o
2   8  0.8561290 o
3  13  0.1183023 o
4  14  0.6067933 x
5   5 -2.0150610 x
6   6  0.2368212 o
7   9  0.2588645 x
8  17 -1.9118455 x
9  10 -0.2912813 o
10 11  0.9407040 x


HTH

Sara Roux
Messages : 13
Enregistré le : 17 Sep 2011, 19:14

Messagepar Sara Roux » 06 Oct 2011, 07:38

Merci beaucoup pour la réponse. Voici une partie des mes données

> Data1[100:110,]
Code Name
100 132 Juncus-triglumis
101 132 Pinguicula-alpina
102 132 Saxifraga-aizoides
103 132 Saxifraga-stellaris
104 132 Silene-acaulis
105 132 Triglochin-palustris
106 132 Tussilago-farfara
107 212 Betula-pendula
108 212 Betula-pubescens
109 212 Calamagrostis-canescens
110 212 Carex-flacca

Data2

> Data2[1:10,]
[1] 132 133 212 214 221 222 223 224 231 232

J'ai suivi tes conseils mais ça ne marche pas:

> z<-1:36073
>
> Data3<-data.frame(Data1, z)
>
> Data4<-Data3$z[which(Data2$CodeS %in% Data3$Code)]<-"x"
>
> Data4
[1] "x"

Merci beaucoup!!!!

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Messagepar Logez Maxime » 06 Oct 2011, 08:10

Bonjour,

Code : Tout sélectionner

Data2 <- cbind(Data2, z=ifelse(Data2$Code%in%Data1$Code, "x", ""))
Maxime

Sara Roux
Messages : 13
Enregistré le : 17 Sep 2011, 19:14

Messagepar Sara Roux » 06 Oct 2011, 09:16

merci beacoup!!! :)

j'aurais maintenant une autre question:

j'ai deux base des données

> Data1[30:50,]
NrSample Code Name
30 499120 453 Agropyron-repens
31 499120 453 Convolvulus-arvensis
32 499120 453 Lolium-perenne
33 499120 453 Plantago-major-s.l.
34 499120 453 Poa-annua
35 499120 453 Poa-pratensis-agg.
36 499120 453 Polygonum-aviculare-agg.
37 499120 453 Trifolium-repens
38 503134 451 Agropyron-repens
39 503134 451 Agrostis-stolonifera
40 503134 451 Bromus-hordeaceus
41 503134 451 Bromus-sterilis
42 503134 451 Capsella-bursa-pastoris
43 503134 451 Carpinus-betulus
44 503134 451 Cerastium-fontanum-s.l.
45 503134 451 Dactylis-glomerata
46 503134 451 Epilobium-tetragonum-s.l.
47 503134 451 Equisetum-arvense
48 503134 451 Fallopia-convolvulus
49 503134 451 Festuca-arundinacea-s.l.
50 503134 451 Fraxinus-excelsior

le NrSample corrésponde aux cordonnées géo et donc si les coordonnées sont egales les espèces font partie du même relevé de végétation.

Group 1 2 3 4 5 6 7
G1 Acinos 0 0 0 0 0 0
G2 Agrimonia-eupatoria Agrimonia-odorata Agrimonia procera 0 0 0 0
G3 Agrostis-alpina Agrostis-rupestris Avenella-flexuosa Festuca Nardus-stricta Poa bulbosa Stipa
G4 Anthoxantum 0 0 0 0 0 0
G5 Anthericum-liliago Anthericum-ramosum Lilium-bulbiferum Lilium-croceum Lilium-martagon Paradisea-liliastrum
G6 Arnica-montana 0 0 0 0 0 0
G7 Astrantia-bavarica 0 0 0 0 0 0
G8 Briza-media 0 0 0 0 0 0
G9 Bromus-erectus 0 0 0 0 0 0


Dans le deuxièmer il y a différentes groupes d'espèces.

J'aimerais selectionnér qu'une z s'affiche à coté des relevés (espèces) qui presentes au moins 6 espèces presentes dans la deuxième base des données.. Pour les groupes qui presentent plus d'une espèce, la presence d'une espèce suffit comme critère pour passer au groupe suivant.

Je crois que je dois travailler avec des boucles mais je suis pas trop capable..

Merci beaucoup!!!

Sara

Sara Roux
Messages : 13
Enregistré le : 17 Sep 2011, 19:14

c

Messagepar Sara Roux » 06 Oct 2011, 12:12

Pour ma deuxième base de donnée j'ai changé un peu le fichier, peut être sa pourrait faciliter la chose:

pooled Species
30 4 Centaurea-seusana
31 4 Centaurea-solstitialis
32 4 Centaurea-splendens
33 4 Centaurea-stoebe
34 4 Centaurea-tenuifolia
35 4 Centaurea-triumfettii
36 4 Centaurea-uniflora
37 4 Centaurea-valesiaca
38 5 Cirsium-oleraceum
39 6 Leucanthemum-adustum

Sara Roux
Messages : 13
Enregistré le : 17 Sep 2011, 19:14

Messagepar Sara Roux » 09 Oct 2011, 09:59

Personne peut m'aider?
Est-ce que quelqu'un pourrait me conseiller un livre ou un article qui explique la construction d'une fonction?
Merci

Sara


Retourner vers « Questions en cours »

Qui est en ligne

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