作者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