作者hugh23715 (Moehong)
看板Statistics
標題[程式] SAS PROC IML
時間Tue May 14 13:07:41 2013
------------------------------------------------------------------------
[軟體程式類別]:
SAS
[程式問題]:
PROC IML 迴圈
[軟體熟悉度]:
低(1~3個月)
[問題敘述]:
目前已經把程式內起始B值之SSA算出,但需要改變K次的B值計算出K次的SSA,
問題點就是不知道如何把B值當做SCALE來做運算。
我這樣K次的寫法錯誤都會發生在A[i]=T[i]-B[k]*N[i];這裡反而矩陣乘法錯誤
那麼要如何將B值做K次的運算
[程式範例]:
USE A1;
READ ALL VAR{"DAYS" "TEMP"};
B=1.84;
T= TEMP;
N= DAYS;
A=j(nrow(T),1, .);
DO k=1 to k by 1;
k=k+1;
B[k]=B[k-1]+0.1;
DO i= 1 to nrow(T);
A[i]=T[i]-B[k]*N[i];
Abar=(sum(A))/nrow(T);
SSA=sum(A[i]-Abar)**2;
END;
END;
-----------------------------------------------------------------------------
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.120.232.23
1F:→ bbearh:k=1 to k有錯,k=k+1也不對會讓DOK的行為不對. B的用法, 看 05/19 23:38
2F:→ bbearh:不用 array [], 你要的用法只用B就行, B=B+0.1; [k]拿掉. 05/19 23:40