2013-05-03 23 views
0

我有許多學生的2年考試成績數據。我有一年的專欄,學生的名字和標記。有些學生在第二年沒有參加考試,因爲他們在第二年沒有參加任何考試。我想說明學生的表現是否持續存在,或者他們後來的表現是否存在任何模式。我可以將數據分成兩個大小相等的兩半,以解釋「上半年」和「下半年」的分數。我也可以根據考試結果使用'proc排名'將前半部分劃分爲五分位數SAS中的應急表

我知道我想要的輸出是一個5 X 5的表格,其中一個軸上的原始5個五分位數和5個後續五分位數加上一個'輟學'類別,以及一個5×6矩陣。在第一次考試中,每個五分位數的學生總數顯然會有大約20%,如果沒有關係,那麼在6個後續類別的每一箇中應該有16.67%。但我不知道如何繼續說明這是不是這種數據的情況。

請問我該怎麼做SAS?有人可以指出我有一個很好的教程,可以展示如何設置它嗎?我一直在尋找像'性能持久性'等術語,但無濟於事。 。 。

我一直在繼續這樣設置我的數據集。我使用下面的第一個程序爲第一個或第二個數據添加了0或1的列。我還爲所有學生增加了一個五分制的專欄。但是我認爲我錯了。我不應該將數據劃分爲五分之一,而不是整個兩個時期?

Proc rank groups=2; 
     var yearquarter; 
ranks ExamRank; 
run; 

Proc rank groups=5; 
     var percentageResult; 
     ranks PerformanceRank; 
run; 

在此先感謝。

+0

基地SAS或SAS/IML? – Joe 2013-05-03 15:50:48

+0

Bases SAS:我不太確定。命令行版本。 – user2146441 2013-05-03 15:53:57

+0

兩者都可以用相同的方式進行編輯。 SAS/IML是矩陣語言(所以像R一樣)。基地SAS有數據集而不是矩陣。 – Joe 2013-05-03 15:54:58

回答

0

下面是簡單製表的一個相當基本的例子。我轉換你的五分數據然後製作一張桌子。這裏基本上沒有關係,除了我只允許5%的DNF,所以你更喜歡19%19%19%19%19%5%。

data have; 
do i = 1 to 10000; 
    do year = 1 to 2; 
    if year=2 and ranuni(7) < 0.05 then call missing(quintile); 
    else quintile = ceil(5*ranuni(7)); 
    output; 
    end; 
end; 
run; 

proc transpose data=have prefix=year out=have_t; 
by i; 
var quintile; 
id year; 
run; 


proc tabulate data=have_t missing; 
class year1 year2; 
tables year1,year2*rowpctn; 
run; 

PROC CORRESP可能對分析很有幫助,雖然它看起來並不像你想要的那樣。

proc corresp data=have_t outc=want outf=want2 missing; 
tables year1,year2; 
run; 
+0

感謝您的回答。無論如何,這種分析是什麼?它是一個交叉列表,一個列聯表或它究竟是什麼?我需要閱讀更多關於這個能夠擴展分析的內容。 – user2146441 2013-05-03 16:10:32

+0

我的表格是一個交叉列表,但它是一個交叉列表,它是一個列聯表。就你的分析而言,我並不確定;你當然在建立一個應急表,但你真正想要分析的我不確定。您可以在統計信息堆棧交換中詢問,或者詢問SAS Listserv([email protected])以獲得更具統計意義的建議。 – Joe 2013-05-03 16:20:06

1

爲什麼要將數據分成五分位數?

我會離開這個分數,因爲他們,然後做一個散點圖與

PROC SGPLOT data = dataset; 
x = year1; 
y = year2; 
loess x = year1 y = year2; 
run;