2015-05-14 27 views
-1

我想從使用R的文章中重現模擬結果,並且我在最初就被卡住了。我應該產生說約10個協變量,全部遵循伯努利分佈,它們通過迴歸結構關聯:p(X_j=1|X_j-1)=0.1+0.1(X_j-1 - 0.15), j=1,...,10n=100個體和X1~Binomial(1,0.5)。我認爲這應該很容易,但我認爲我錯過了一些東西,不知道如何繼續。任何建議或想法(甚至讓我清楚他們想說什麼)將會非常有幫助!從伯努利分佈生成具有特定相關結構的分佈變異R

回答

1

像這樣的遞歸定義很混亂。您可以使用一個循環

draw <- function() { 
    N<-10 
    x <- numeric(N) 
    x[1] <- runif(1) < .5 
    for(i in 2:N) { 
     x[i] <- runif(1) < 0.1+0.1*(x[i] - 0.15) 
    } 
} 
draw() 

或Reduce函數

Reduce(function(xjm1,x) { 
    as.numeric(runif(1) < .1+.1*(xjm1-0.15)) }, 
    rep(0,9), init=runif(1)>.5, accumulate=T) 

如果你需要生成一堆這些值與計算相關,你可以做

xx <- replicate(100, draw()) 
cor(t(xx)) 
+0

謝謝您回覆。我在這個問題上做了一個小小的修改。我不明白你的邏輯。也許,我不完整的問題是你答案的理由。我的這10個協變量的相關矩陣將是一個10×10矩陣,後面我需要爲這10個協變量(100×10矩陣)的100個個體生成一個數據,考慮這種相關結構。我知道我可以使用'bindata'包生成數據,但我不確定如何根據相關結構形成相關矩陣。 – curiousmind

+0

你想計算一個具有這種分佈或分析/理論相關性的隨機樣本的經驗關聯矩陣嗎?如果是後者,這是一個統計問題,而不是編程問題,最好在[stats.se]問。如果前者,我已經更新了我的迴應。 – MrFlick

+0

我想根據10個協變量的迴歸結構計算經驗關聯矩陣,然後爲協變量與相關結構關聯的100個個體生成協變量。順便說一句,我想從二項分佈不均勻生成它們。再次,非常感謝你的有益回覆。 – curiousmind