J'essaie d'enregistrer les taux de réussite de la classification de la fonction CAPdiscrim
à partir du package BiodiversityR
. La vignette pour CAPdiscrim
(https://www.rdocumentation.org/packages/BiodiversityR/versions/2.7-2/topics/CAPdiscrim) donne un exemple sur la façon d'obtenir les taux de réussite de classification:Enregistré pour la sortie de boucle est différente de celle dans la console - R
library(BiodiversityR)
library(vegan)
library(MASS)
data(dune)
data(dune.env)
for (mseq in 1:14) {
CAPdiscrim.result <- CAPdiscrim(dune~Management, data=dune.env,
dist="bray", axes=2, m=mseq)
}
Cette imprime automatiquement les pourcentages de réussite de classement dans la console par exemple.
Overall classification success: 40 percent
BF (n=3) correct: 0 percent
HF (n=5) correct: 40 percent
NM (n=6) correct: 33.3333333333333 percent
SF (n=6) correct: 66.6666666666667 percent
Cependant lorsque vous appelez l'objet CAPdiscrim.result
en dehors de la boucle, il produit les résultats réels par exemple CAPdiscrim
(str(CAPdiscrim.result
)).
List of 14
$ PCoA : num [1:20, 1:2] -0.3547 -0.2946 -0.0728 -0.0693 -0.3071 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:20] "1" "2" "3" "4" ...
.. ..$ : NULL
$ m : int 14
$ tot : num 4.3
$ varm : num 107
$ group : Factor w/ 4 levels "BF","HF","NM",..: 4 1 4 4 2 2 2 2 2 1 ...
$ CV : Factor w/ 4 levels "BF","HF","NM",..: 1 2 4 4 3 2 2 1 1 2 ...
$ percent : num 40
$ x : num [1:20, 1:3] 7.64 0.18 9.43 8.88 -1.93 ...
etc., etc.
Je sens que j'ai tout essayé de sauver la sortie exacte qui est imprimé dans la console au moment de l'exécution du for loop
. J'ai essayé de créer list
s vides, vide data.frame
s, liant les résultats. Je ne peux juste pas comprendre comment le stocker! Toute aide serait grandement appréciée.
Ce code devrait être reproductible? Oui, je veux juste enregistrer les chaînes. Même s'il est écrasé, je serais en mesure d'obtenir la dernière chaîne seul. Mais ce que j'obtiens est le résultat CAPdiscrim réel, c'est-à-dire l'ensemble de la sortie statistique. –
Désolé, ceci est reproductible. J'ai eu une erreur différente que j'ai mal interprétée. – MrFlick