計數我有以下列SAS創建其他變量
Var_1
3456
3456
3456
6
6
71
71
71
71
我要創建這個數據的另一個變量,這將使我的每個號碼重複了多少遍的計數所以變量會看像這樣:
Count
3
2
4
我不知道或線索如何繼續這一點。 Proc Freq中有什麼可以使用的?
計數我有以下列SAS創建其他變量
Var_1
3456
3456
3456
6
6
71
71
71
71
我要創建這個數據的另一個變量,這將使我的每個號碼重複了多少遍的計數所以變量會看像這樣:
Count
3
2
4
我不知道或線索如何繼續這一點。 Proc Freq中有什麼可以使用的?
簡單的解決方案:PROC SQL:
data tbl;
input var1;
cards;
3456
3456
3456
6
6
71
71
71
71
;
run;
proc sql;
create table tbl2 as
select var1,
count(var1) as count
from tbl
group by var1
;
quit;
如果你真的只是想該列(計數),你可以只查詢計數(VAR1),但不知道你爲什麼會想一列顯示計數沒有附加值。如果你真的想爲每個值的計數創建一個單獨的宏變量,你可以使用proc sql select into:
......如果這是你所問的。
如果我想爲不同的數據集做這件事,我怎樣才能把它變成一個marco? 因此,我可以做一些宏調用,而不是對不同的數據集運行相同的proc sql不同的時間? – user2916331
你只需要宏proc sql部分,並使用數據集名稱(你想創建)和變量(你想要計數的變量)作爲參數。然後把它叫出來......有些東西像%count(table,var); – SMW
有趣。我不知道我可以使用proc sql與宏 – user2916331
我認爲沒有清楚寫下問題是我的錯。我的代碼的目的是統計廣告客戶投放在線的招聘廣告的數量。現在我有一個廣告客戶專欄(如麥當勞),但是沒有專欄記錄麥當勞提供的廣告工作數量。他們只有一個像(Var_1)這樣的值,它代表他們所提出的特定工作的代碼。所以我基本上試圖統計廣告客戶提供的所有代碼(Var_1),然後將他們總計起來,以獲得所提供職位數量的總數。我看了很多在線,但還沒有找到解決方案。我認爲我可以使用Proc Freq和Proc Means來獲取Var_1的「N」值,並將其添加到總數中。我通過Proc Sql查看,但我不熟悉它。所以我不確定它是否會起作用。
你想計算整個列的重複次數還是每次連續的相同值的重複次數? – user667489
你看過你可以使用什麼嗎? – Joe
你想要一張新桌子還是包含在原始桌子上? Proc Freq,Proc SQL和Proc Means是一些最常用的方法。 – Reeza