解決辦法:
只能通過一些trick來減小生成的中間矩陣的大小。比如我所遇到的問題是:
我要運行(W%*%H%*%t(H)) 這句話,(W的規模是5000000*10,而H的規模是10*100000)
解釋執行W%*%H的時候報錯:不能有負長度矢量。
坑爹的中文報錯,google發現,和中文有關的R文檔、記錄真是少得可憐,終於通過英文“negative length vectors are not allowed”這句話,
看到老外們的解釋,才知道了,簡而言之就是因為數據規模太大,而R系統不允許生成生成數據規模超過2^31的結果。
改成(W%*%(H%*%t(H)))后,問題就解決了。。。