99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
2018-11-07 閱讀量: 1001
如何提高R的循環(huán)速度?

在R中使用循環(huán)時(shí),遵循一些黃金規(guī)則可提高運(yùn)行速度:

  1. 存在矢量化替代時(shí),請(qǐng)勿使用循環(huán)
  2. 不長的物體(通過ccbind在循環(huán)過程等) - R有創(chuàng)建一個(gè)新的對(duì)象,并在整個(gè)信息復(fù)制只是為了添加新元素或行/列
  3. 分配一個(gè)對(duì)象來保存結(jié)果并在循環(huán)期間填充它

例如,我們將創(chuàng)建一個(gè)新版本analyze,它將返回每個(gè)文件的每日平均炎癥(列)。

請(qǐng)注意我們?nèi)绾?code>out在每次迭代中添加新列?這是for在R 中編寫循環(huán)的主要罪過。

相反,我們可以創(chuàng)建一個(gè)具有正確尺寸(行/列)的空矩陣來保存結(jié)果。然后我們遍歷文件,但這次我們填寫f結(jié)果矩陣的第一列out。這次R沒有復(fù)制/增長來處理。

在這個(gè)簡單的例子中,analyze2和的計(jì)算時(shí)間差別不大analyze3。這是因?yàn)槲覀冎坏?2個(gè)文件,因此我們只進(jìn)行12次復(fù)制/增長操作。如果我們?cè)诟辔募蛭覀冋谠鲩L的數(shù)據(jù)對(duì)象上這樣做,那么復(fù)制/增長的代價(jià)將會(huì)大得多。

請(qǐng)注意,apply為您處理這些內(nèi)存分配問題,但是您必須將循環(huán)部分寫為要傳遞的函數(shù)apply。從本質(zhì)上講,apply它只是一個(gè)for帶有額外便利的循環(huán)。

0.0000
3
關(guān)注作者
收藏
評(píng)論(0)

發(fā)表評(píng)論

暫無數(shù)據(jù)
推薦帖子