[程式] SAS PROC IML

看板Statistics作者 (Moehong)時間11年前 (2013/05/14 13:07), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串1/1
------------------------------------------------------------------------ [軟體程式類別]: 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

05/19 23:38, , 1F
k=1 to k有錯,k=k+1也不對會讓DOK的行為不對. B的用法, 看
05/19 23:38, 1F

05/19 23:40, , 2F
不用 array [], 你要的用法只用B就行, B=B+0.1; [k]拿掉.
05/19 23:40, 2F
文章代碼(AID): #1HaSQYBj (Statistics)