[問題] 電腦跑不動問題...

作者: sinclairJ (KEEP MOVING FORWARD)   2015-04-24 17:17:35
不好意思...有關電腦與軟體的問題想請教
我通常都用個人PC跑R程式(研究室也沒其他資源)
但因為最近要分析的資料量實在太大(原始資料約為500,000*200)
跑R也常跑到沒有回應 現在有兩個問題想請教
1.礙於某些套件是以"欄"為單位來進行分析(如兩欄間的相關係數檢定)
以我的資料檔為例 我感興趣的變數就是那500,000列
所以我必須先在R裡面轉置再輸出成csv檔 之後才能做後續分析
今天有試著輸出...但Excel卻開不起來
(錯誤訊息:只能容許1X,XXX行) 這是遇到的第一個問題
2.之後試著不如不要轉出 直接轉置完在R裡面跑分析就好
結果卻沒有回應...有試著把同學的記憶體加到自己電腦(變成16G)
但R卻遲遲還是沒有回應...
自己有天真的想了一下解決方法 可能打程式的時候
以逐行的方式作檢定 若顯著的話 就先暫存在某個物件裡
但礙於程式能力不好 怕會花太多時間
不然資料那麼大 若是還以之前的程式習慣(一次處理整個資料檔)來做分析
肯定是不行的吧... 所以想請問各位先進...
有"以不更換軟硬體"的情況下的解決方法嗎
作者: andrew43 (討厭有好心推文後刪文者)   2015-04-24 17:24:00
1. libreoffice / openoffice 試試看2. 最佳化的程式碼要有實際案例才說得下去另外,你的資料到底是200列還是200欄?
作者: sinclairJ (KEEP MOVING FORWARD)   2015-04-24 17:45:00
不好意思,原始資料是200行沒錯200欄我晚點試試看你提的excel解決辦法,謝謝
作者: Wush978 (拒看低質媒體)   2015-04-24 18:29:00
先試試能不能抽樣跑
作者: celestialgod (天)   2015-04-24 20:31:00
用notepad++或是sublime text之類的開csv檔sublime text有套件支援csv瀏覽很方便500,000列看你是怎麼寫,670000x150在16G還可以做要不就要考慮用disk當作記憶體緩衝我沒注意到你是要用excel分析,抱歉
作者: sinclairJ (KEEP MOVING FORWARD)   2015-04-24 22:21:00
哈哈怎麼會抱歉,我要說感謝都來不及了,目前程式碼沒問題,電腦還在試,哈
作者: Edster (Edster)   2015-04-25 05:32:00
這要看你code怎麼寫. 不然你用亂數給我們做範例也好.至少我看起來不是硬體的問題.
作者: celestialgod (天)   2015-04-25 18:56:00
我不是說程式碼有問題,而是寫法,有些不必要的複製會造成記憶體的浪費,才會讓你記憶體不夠用,最簡單的例子,names的assign複製幾次,轉置個幾次次,增加column複製幾次,可能你記憶體就在這途中浪費掉,又沒有remove object下...我覺得R應該不會主動做記憶體記憶體管理補充一點,所以如果需要幫忙,可以把程式PO上來資料可以用亂數,只是要確認裡面沒用名稱CALL

Links booklink

Contact Us: admin [ a t ] ucptt.com