J'ai une base de données à trois colonnes avec des données d'intrigue, d'espèces et d'occurrence. Lorsque j'utilise str() Je reçois la sortie suivante:Remodeler la base de données au format large pour l'analyse GLM
> str(AbundTGLMSOagg)
'data.frame': 1148 obs. of 3 variables:
$ plot : Factor w/ 139 levels "H01","H02","H03",..: 1 1 1 1 1 1 1 1 1 2 ...
$ species : Factor w/ 62 levels "albleb","albodo",..: 26 42 46 47 48 50 52 53 62 20 ...
$ occurrence: int 1 1 1 14 1 10 10 1 1 1 ...
Cependant, je voudrais en faire un dataframe avec 139 obs (= 139 parcelles) de 62 variables (= 62 espèces), de sorte que chaque species est '$ nom de l'espèce' dans la sortie str().
La str() sortie doit ressembler à cet exemple ici:
> str(antTraits$abund)
'data.frame': 30 obs. of 41 variables:
$ Amblyopone.australis : int 0 0 0 4 2 0 0 0 1 0 ...
$ Aphaenogaster.longiceps : int 0 0 0 0 0 0 0 0 0 0 ...
$ Camponotus.cinereus.amperei : int 0 0 0 0 0 1 0 0 0 0 ...
$ Camponotus.claripes : int 2 0 0 1 4 5 6 4 1 2 ...
$ Camponotus.consobrinus : int 1 4 6 1 7 11 9 11 19 17 ...
$ Camponotus.nigriceps : int 6 0 0 0 0 0 1 0 0 0 ............ETC
Le dataframe ressemble à ceci:
> head(antTraits$abund)
Amblyopone.australis Aphaenogaster.longiceps Camponotus.cinereus.amperei Camponotus.claripes Camponotus.consobrinus Camponotus.nigriceps Camponotus.nigroaeneus
1 0 0 0 2 1 6 0
2 0 0 0 0 4 0 1
3 0 0 0 0 6 0 0
4 4 0 0 1 1 0 0
5 2 0 0 4 7 0 0
6 0 0 1 5 11 0 6
Ceci est mon jeu de données: https://pastebin.com/XhArqd5F
> foo
plot albleb albodo antgha apovil artlak briret buclan cansub carsph catspa cropoi dalcul dallan dalnig daloli dilobo dioehr diomal dipint diptub elltom erican
1: H01 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
2: H02 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 1 NA NA
3: H03 NA NA NA 3 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 3 NA NA
4: H04 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 1 NA NA
5: H05 NA NA NA NA NA NA NA NA NA NA NA NA 1 NA NA NA NA NA NA 1 NA NA
Merci beaucoup pour tout conseil.
Qu'est-ce que vous voulez faire est appelé "remodeler au format large". Vous devriez être capable de trouver la solution avec ce terme de recherche. – Roland