我用每周和每个月的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
现在的问题是,当我复制时,我得到相同的结果,但结果应该是不同的。有没有简单快速的解决方案。
答案 0 :(得分:1)
您可以执行此操作,而不是将变量传递给replicate
。
<强>码强>
fun <- function( ){
first <- rweibull(7,3.28,2.14)
second <- rweibull(7,3.33,2.112)
}
replicate( 2, fun() )