數(shù)據(jù)的對比
SAS中對比兩個(gè)數(shù)據(jù)集的命令是proc compare怜校,它的基本格式如下:
proc compare <base=數(shù)據(jù)集 compare=數(shù)據(jù)集> <nosummary> <transpose>;
by 變量1 變量2;
id 變量1 變量2间影;
run;
其中,proc compare
語句是調(diào)用數(shù)據(jù)比較過程茄茁,選項(xiàng)base
和compare
分別指定被比較的兩個(gè)數(shù)據(jù)集魂贬; nosummary
的作用是不顯示一些概括性的結(jié)果;而transpose
則是按記錄顯示不一致的結(jié)果裙顽,默認(rèn)是按變量顯示不一致的結(jié)果付燥。
而id
語句通常指定索引變量,如id號愈犹,默認(rèn)顯示行號键科。舉例說明:
一旦發(fā)現(xiàn)輸入錯(cuò)誤的數(shù)據(jù)集,便可以使用if ...then...
語句進(jìn)行修改漩怎,舉例說明:
數(shù)據(jù)的清洗
1.查找和刪除重復(fù)值
SAS利用proc sort
過程來查找和刪除重復(fù)值勋颖,它的基本格式如下:
proc sort <data=數(shù)據(jù)集> <out=數(shù)據(jù)集> <nouniquekey> <nodupkey>;
by <descending> 變量1 <descending> 變量2 ...;
run;
其中,若不指定out
選項(xiàng)勋锤,那么排序后的數(shù)據(jù)集將覆蓋原有數(shù)據(jù)集饭玲;nouniquekey
的作用是輸出重復(fù)值,nodupkey
選項(xiàng)是輸出唯一值叁执。
by
語句指定排序的變量茄厘,可以指定多個(gè),默認(rèn)按升序排序徒恋。
2.擴(kuò)展內(nèi)容:first.變量和last.變量
SAS的sort過程會自動(dòng)產(chǎn)生兩個(gè)變量:first.變量和last.變量蚕断,這兩個(gè)變量分別表示某變量某個(gè)值的第一個(gè)和最后一個(gè)觀測。直接舉例說明其用法:
在上述例子中入挣,需要注意的是亿乳,用set
語句賦值數(shù)據(jù)集時(shí),也要加上by
語句,否則SAS不認(rèn)first.id和last.id葛假。
除此之外障陶,如果想要過濾掉觀測的第一行,可以在proc print;
前面加一句if not first.id;