2015-04-01 51 views
0

在R包中,我想從具有不同種子的Nnorm分佈中繪製數字。我已經完成了循環。種子由310個觀察值的每個向量值設置。不幸的是,我得到了如下警告:「替換後的數量不是......的倍數」。當我設置恆定的種子時,它可以工作在循環中設置不同的種子,導致R中的警告

CODE:

mojaCharyzma = 2 * (3 + 6 + 4 + 6 + 4 + 8) 
seed = dane$id_student 

leader = matrix(0,310,1) 

for(i in (1:310)) 
{ 
    set.seed(seed[i]) 
    leader[i,1] = rnorm(n = nrow(dane), mean = mojaCharyzma, sd = 7) 
} 

回答

2

我不確定你想用這個完成什麼。你的矩陣只有一列,所以爲什麼不做

leader <- matrix(rnorm(n = nrow(dane), mean = mojaCharyzma, sd = 7), ncol=1) 
+0

不斷重置你的隨機種子是一個壞主意。它可以毀掉你所希望的分配。每次都有重新設置種子的特殊原因嗎? – jwilley44 2015-04-02 00:03:45

+0

我需要從1:310每次設置它。這是鍛鍊,我必須這樣做。 – DKM 2015-04-02 00:26:20

2

的問題是在這裏:

n = nrow(dane) 

我想這nrow(丹麥)> 1?例如,如果nrow(dane)是10,那麼rnorm()將返回10個值。但是,您希望將所有的十個值放入一個單個矩陣單元,稱爲leader[i,1]。那當然不可能。 將其更改爲

n = 1 

否則該矩陣分配不會工作。

注:種子應該對問題沒有影響。