J'ai quelques problèmes avec la fonction vegdist
. Je veux calculer une matrice de distance avec jaccard. J'ai des données binaires. Le problème est que j'ai une matrice de 138037 lignes (sites) et 89 colonnes (espèces). mon script est:vegan :: vegdist: Erreur en double (N * (N - 1)/2): la taille de vecteur spécifiée est trop grande
library("vegan")
memory.limit(size = 100000) # it gives 1 Tera from HDD in case ram memory is over
DF=as.data.frame(MODELOS)
DF=na.omit(DF)
DISTAN=vegdist(DF[,2:ncol(DF)],"jaccard")
Ou plus reproductible:
nsites <- 138037
nspp <- 89
DF <- matrix(0,nrow=nsites,ncol=nspp)
DISTAN=vegdist(DF,"jaccard")
Presque immédiatement produit l'erreur:
Error in double(N * (N - 1)/2) : vector size specified is too large
Je pense que cette erreur de mémoire, mais je ne pas savoir pourquoi si j'ai un PC avec 32 Go de RAM et 1 Tera de disque dur.
J'essaie aussi de faire une matrice dist avec la fonction dist
de proxy package:
library(proxy)
vector=dist(DF, method = "Jaccard")
il commence à courir, mais quand il arrive à 10 Go de RAM, une fenêtre annonce que R a commis une erreur et il se ferme, donc il se ferme et commence une nouvelle section. Je ne sais vraiment pas ce qui se passe et moins comment résoudre cela, quelqu'un peut-il m'aider?
S'il vous plaît modifier votre question et le titre à être en anglais, Tout sur ce site doit être écrit en anglais (qui comprend les messages d'erreur) – thaJeztah
Y at-il une raison particulière pour laquelle cela est marqué PHP? –
@ user2055974 vous pouvez définir 'Sys.setenv (LANG =" en ")' afin de reproduire le message d'erreur en anglais. Voir [ce post] (http://stackoverflow.com/questions/13575180/how-to-change-the-language-of-errors-in-r) –