機能に問題がありvegdist
ます。jaccardで距離行列を計算したい。バイナリデータがあります。
問題は、138037 行 (サイト) と 89 列 (種) のマトリックスがあることです。私のスクリプトは次のとおりです。
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")
またはより再現可能:
nsites <- 138037
nspp <- 89
DF <- matrix(0,nrow=nsites,ncol=nspp)
DISTAN=vegdist(DF,"jaccard")
ほとんどすぐにエラーが発生します。
Error in double(N * (N - 1)/2) : vector size specified is too large
これはメモリ エラーだと思いますが、32 GB の RAM と 1 テラの HDD を搭載した PC を使用している場合、その理由がわかりません。
dist
また、パッケージ プロキシの関数を使用して dist マトリックスを実行しようとしています。
library(proxy)
vector=dist(DF, method = "Jaccard")
実行を開始しますが、RAM が 10 GB に達すると、R がエラーをコミットしたことをウィンドウが通知し、ウィンドウが閉じられるため、閉じて新しいセクションを開始します。
私は本当に何が起こっているのかわからず、これを解決する方法も知りません。誰か助けてもらえますか?