我是SAS-noobie。我希望你能帮我解决这个问题。 我有一个包含159个观测值的数据集。所有观察都有一个id号(变量= id)。缺少68号。我想将id = 160更改为id = 68,因此观察数量与id数相符。有谁知道如何做到这一点? 我的数据集看起来像这样:
obs: id:
... ...
67 67
68 69
69 70
... ...
159 160
所以详细说明我想改变行obs = 159,id = 160到行obs = 68,id = 68。
我试过了:
如果obs = 159则id = 68;
这没有帮助: - /
提前致谢!
答案 0 :(得分:0)
希望我理解您要尝试完成的内容:“更改列 ID 中的值”
参见示例:
DATA survey;
INPUT id sex $ age inc r1 r2 r3 ;
DATALINES;
1 F 35 17 7 2 2
81 M 44 11 7 7 7
2 F 34 17 6 5 3
18 M 40 14 7 5 2
34 F 47 6 6 5 6
160 M 35 17 5 7 5
;
proc print data=survey; *print the dataset survey created as you can see that 160 is in original dataset;
data recode;
set survey;
if id=160 then id=68;
run;
PROC SORT DATA=recode OUT=surveysorted ; *sort the data;
BY id ;
RUN ;
PROC PRINT DATA=surveysorted ; *print new sorted dataset;
RUN ;
答案 1 :(得分:0)
如果您想根据表中的观察顺序修改值,则应键入:
if _N_=159 then id=68;
这仅适用于数据步骤。
希望这会有所帮助
MK