2012-02-13 39 views
4

假設我寫一個函數,沒有輸入,但返回隨機變量如當函數沒有輸入時,R中返回函數值向量的習慣用法是什麼?

example.f <- function() runif(1, 0, 1) 

如果我想要得到長的矢量從這個函數返回的結果爲100,我不能做到這一點:

rep(example.f(), 100) 

因爲它只是重複第一個返回的值。我可以這樣做,使用匿名功能:

sapply(1:100, function(x) example.f()) 

但這讓我覺得有點不雅。有另一種方法嗎?

+1

有臭蟲在你代表的例子。你應該在函數exmaple.f後加上括號。 – 2012-02-13 14:28:29

回答

8

使用重複:

replicate(100, example.f()) 
+1

真正有功能的程序員使用plyr的'r_ply'來代替 – baptiste 2012-02-13 03:27:09

相關問題