合并两个或多个模拟

时间:2017-02-22 19:44:33

标签: r merge simulation

我用每周和每个月的weibull分布来模拟风力。因为风速/功率每周都存在差异,我想将它们全部合并,然后复制结果,看看特定风位置在一定时间内能产生多少能量。第一次模拟产生第一周的结果,第二周的第二次模拟,依此类推,目标是将合并的结果保存一个月,然后将结果复制到所需的月数。

first<-rweibull(7,3.28,2.14) #time series for days in first week
second<-rweibull(7,3.33,2.112)# time series for days in second week 
combined<-replicate(2,c(first,second))#combined

     [,1]      [,2]
 [1,] 2.3314627 2.3314627
 [2,] 2.4219863 2.4219863
 [3,] 2.2993156 2.2993156
 [4,] 0.9576821 0.9576821
 [5,] 0.8065639 0.8065639
 [6,] 2.2820711 2.2820711
 [7,] 0.6315118 0.6315118
 [8,] 1.8152144 1.8152144
 [9,] 0.9296449 0.9296449
[10,] 1.6707807 1.6707807
[11,] 1.7307920 1.7307920
[12,] 2.2075004 2.2075004
[13,] 2.0368642 2.0368642
[14,] 2.5320678 2.5320678      

现在的问题是,当我复制时,我得到相同的结果,但结果应该是不同的。有没有简单快速的解决方案。

1 个答案:

答案 0 :(得分:1)

您可以执行此操作,而不是将变量传递给replicate

<强>码

fun <- function( ){
  first  <- rweibull(7,3.28,2.14) 
  second <- rweibull(7,3.33,2.112) 
}

replicate( 2, fun() )