更换观察数与另一个

更换观察数与另一个

问题描述:

我是一个总的SAS-noobie。我希望你能帮我解决这个问题。 我有159个观测数据集。所有的观测值都有一个id号(变量= id)。数字68丢失。我想将id = 160更改为id = 68,因此观察值的数量与id号码一致。有谁知道如何做到这一点? 我的数据集看起来是这样的:更换观察数与另一个

obs: id: 
    ... ... 
    67 67 
    68 69 
    69 70 
    ... ... 
    159 160 

所以来阐述我想改变行实测值= 159,ID = 160排实测值= 68,ID = 68。

我尝试:

如果观测值= 159然后ID = 68;

这没有帮助: -/

在此先感谢!

+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 ; 

输出:**output for proc print data=survey; and proc print DATA=surveysorted;**

+0

好了,它的工作原理的问题!我早些时候尝试过,但无法使其工作。我必须以某种方式输入错误。非常感谢你的帮助! – mmbc

+0

@mmbc欢迎您。请接受答案。 – sb0709

如果你想修改基于表中观察顺序的数值比应该输入:

if _N_=159 then id=68; 

这只有在数据的一步。

希望这有助于

MK