作者magic51520 (Baby是我)
看板Statistics
標題[問題] 想問個splus程式問題
時間Tue May 5 19:26:19 2009
想請問各位大大,
我現在有個10*15的矩陣,matrix(0,10,15),10為病患個數,15為資料的筆數,
每位病患的第一筆資料 Q1 都是利用beta(10,0.5,0.5)產生亂數給予,
之後的Q2、Q3、...,Q15 則利用迴歸式 Q(t)=0.2+0.5*Q(t-1) 產生出,
但現在我希望把資料的筆數隨機給予一個數字,
假設 如果第一個病患的筆數為8,則只出現Q1~Q8的值,Q9~Q15則設定為0,
....以此類推,
f<-function(n,k,b0,b1,alpha,beta){
Q0<-rbeta(n,alpha,beta)
m<-matrix(0,k,n)
for(i in 1:n){
{
for(j in 2:k){
m[1,i]<-Q0[i]
m[j,i]<-b0+b1*m[j-1,i]
}
}
list(m)
}
f(n=10,k=15,b0=0.2,b1=0.5,alpha=0.5,beta=0.5)
這是我目前寫出來的程式,但如果k變數不是固定的,
如果使k=sample(1:15),需要在function的程式裡加上什麼才能產生我要的結果,
我目前有想到的是用while迴圈,可是卻不太清楚怎麼用,
可以請各位大大幫忙指點一下,謝謝,感激不盡。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.60.8.41
1F:推 west1996:如果你的k已經是一個vector的話 把for迴圈中的k改成k[i] 05/05 20:48
2F:→ west1996:就好了 and迴圈中的角碼是不是有問題?m[i,1] m[i,j]才 05/05 20:49
3F:→ west1996:對? 05/05 20:49