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

熱線電話:13121318867

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

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

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

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

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

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

在這個簡單的例子中,analyze2和的計算時間差別不大analyze3。這是因為我們只迭代12個文件,因此我們只進行12次復制/增長操作。如果我們在更多文件或我們正在增長的數(shù)據(jù)對象上這樣做,那么復制/增長的代價將會大得多。

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

0.0000
3
關注作者
收藏
評論(0)

發(fā)表評論

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