PDV的一些個人理解

2021-07-24 17:05:05 字數 1026 閱讀 2460

最近剛剛考完sas base,對這個考試的一大感受就是,只要你理解了pdv,基本上就不成問題。接下來談談我對pdv的理解吧,也算是學習sas的過程中的乙個筆記。

sas的執行有兩個階段需要了解,編譯階段(compilation phase)和執行階段(execution phase)。

編譯階段sas主要的任務有:

1.檢查語法錯誤:

(2)無效的變數名

(3)遺漏或錯誤的符號

(4)無效的選擇項

2.建立pdv:

(1)用建立sas系統的資料集,一次只 處理乙個觀測

(2)兩個自動變數,_n_用於記錄data步的執行次數,_error_指示出錯的資訊,0表示無錯誤,1表示有錯誤

3.建立資料集的描述部分:

(1)資料集名

(2)觀測和變數個數

(3)變數名及其屬性

執行階段的主要任務有:若資料步編譯成功,就開始執行階段,在這個階段對源資料檔案的每一條記錄執行一次資料步,除非在程式中指明其他處理方式。在這個階段建立資料集的資料部分。

ok,簡單了解以上過程後,我們開始對pdv進行稍微細緻點的講解,廢話不多,上圖:

(1)掃瞄所有變數,新建乙個輸入緩衝,開闢pdv,新建描述性資訊。

(2)將pdv中的變數設定為缺失值。

(3)碰到input語句,pdv中讀入一條記錄。

(4)碰到run語句,資料集寫入一條記錄

(5)判斷是否剩餘觀測,如是,則繼續input觀測,pdv中的值在此時置為缺失值,重複2-4過程知道源資料無剩餘觀測。

retain講解、where/if講解、output講解待更新

Reflect 的一些個人理解

vue 3.0出來後,各種原始碼剖解的文章多了起來,其中proxy和reflect兩個api頻繁出現。查詢了一下阮一峰大佬的文件後,自己也有了一些些理解 reflect物件與proxy物件一樣,也是 es6 為了操作物件而提供的新 api。其中reflect是讓以前類似object.definepr...

遞迴演算法 一些個人理解

遞迴演算法,從定義上來說,是一種直接或者間接地呼叫自身的一種演算法,這裡的自己可以是函式或者方法。遞迴演算法的思想或者說實質就是把實際的問題分解成規模較小的乙個個的子問題,然後不斷使用遞迴呼叫方法來求得問題的解。要學習和使用遞迴演算法,就要從最基本的定義上來先解讀。遞迴演算法是把問題轉化為規模縮小了...

關於SpringIOC的一些個人理解

根據上面這個思路接著說的話,那就順理成章了,首先spring容器將所有的bean都放在一起進行管理,然後當某個應喲經程式需要用到某個bean物件的時候,說一下,然後spring自動給這個程式分配他所需要的物件。這就是所謂的控制反轉了吧?本來這個宣告建立bean物件的過程應該由程式自己進行,建立呼叫然...