我有一個帶有10個obs的文件。和不同的參數。我需要爲每個觀察添加一個「ID」的新變量 - 即數字1-10的列。 如何添加一個簡單等於obs列的變量? 我想過用一個循環來做這件事,定義一個空桶,運行在var上,每次給以前的觀察添加'1',但是,它看起來有點複雜。有沒有更好的方法來做到這一點?sas創建一個等於obs列的變量
0
A
回答
3
您可以使用數據步驟自動變量_n_
。這是Data Step循環的迭代計數。
Data want;
set have;
ID = _n_;
run;
0
@DomPazz答案肯定會工作!萬一你想回到根據屬性的觀測次數,試試這個:
proc sort data= dataset out= sort_data;
by * your attribute(s) *;
data sort_data;
set sort_data;
by * your attribute(s) that is listed in above proc sort statement *;
if first.attribute then i=1; <=== first by group observation, number =1
i + 1; <==== sum statement (retaining)
if last.attribute and .... then ....; <=== whatever you want to do . Not necessary
run;
first
/Last
是做行操作非常有幫助。
1
如果你選擇一個Proc SQL溶液,有兩種方法: 1.未記錄:
proc sql;
create table want as
select monotonic() as row, *
from sashelp.class
;
quit;
記載:
ODS上市關閉; ods output sql_results = want;
proc sql number; select * from sashelp.class; quit;
ods上市;
相關問題
- 1. SAS:創建一個頻率變量
- 2. 從條件創建一個變量sas
- 3. 創建一個變量來等於一個動態創建的DOM元素
- 4. SAS創建其他變量
- 5. 創建SAS宏以創建一個宏變量
- 6. SAS:如何基於字符串變量創建索引變量?
- 7. 在delphi中創建一個等於nill值的字符變量
- 8. 創建一個等於加入查詢結果的新變量
- 9. SAS設置變量等於另一個變量,重命名它,然後合併
- 10. foreach變量等於另一個變量
- 11. SAS:對於一個給定的變量的所有組合創建平均值
- 12. 創建SAS變量之間的關係
- 13. 在很長的SAS代碼系列的頂部創建一個變量
- 14. SAS創建新變量,它是現有變量的第一個數字
- 15. 如何從sas中的許多變量創建一個連接變量
- 16. 基於另一個變量的增量創建變量
- 17. 區分變量等於0和變量等於空陣列['列']
- 18. 基於SAS中的日期值的宏變量創建
- 19. 在SAS中爲重複項創建一個ID變量
- 20. SAS - 從變量創建宏名稱
- 21. SAS宏:循環來創建變量
- 22. 使用SAS sql創建宏變量
- 23. R:創建一個基於列表的分類變量*
- 24. 創建一個數據幀分類變量基於列的值
- 25. 創建一個表與SAS
- 26. 使用SAS陣列創建具有後綴的新變量
- 27. 如何用mutate()創建一個變量值等於給定變量的標籤的變量?
- 28. 如果變量等於變量變化一個變量
- 29. 爲獲取的多列創建一個'變量變量'
- 30. 這個變量等於這一個
謝謝!關於proc的SQL,也許你可以幫助我另一個問題 - http://stackoverflow.com/questions/30853017/sas-proc-sql-with-when-then-statements – user3581800