Working with SAS Data Sets |
Use the DELETE statement to mark an observation to be deleted. The general form of the DELETE statement is as follows:
Statement | Action | |
delete; | deletes the current observation | |
delete point 10; | deletes observation 10 | |
delete all where (age>12); | deletes all observations where | |
AGE is greater than 12 |
If a file accumulates a number of observations marked as deleted, you can clean out these observations and renumber the remaining observations by using the PURGE statement.
Suppose the student named John has moved and you want to update the CLASS data set. You can remove the observation by using the EDIT and DELETE statements. First, find the observation number of the data for John and store it in the matrix by using the FIND statement. Then submit a DELETE statement to mark the record for deletion. A deleted observation is still physically in the file and still has an observation number, but it is excluded from processing. The deleted observations appear as gaps when you list the file by observation number, as in the following example:
> find all where(name={'JOHN'}) into d; > print d; D 5 > delete point d; 1 observation deleted. > list all; OBS NAME SEX AGE HEIGHT WEIGHT ------ -------- -------- --------- --------- --------- 1 JOYCE F 11.0000 51.3000 50.5000 2 THOMAS M 11.0000 57.5000 85.0000 3 JAMES M 12.0000 57.3000 83.0000 4 JANE F 12.0000 59.8000 84.5000 6 LOUISE F 12.0000 56.3000 77.0000 7 ROBERT M 12.0000 64.8000 128.0000 8 ALICE F 13.0000 56.5000 84.0000 9 BARBARA F 13.0000 65.3000 98.0000 10 JEFFREY M 13.0000 62.5000 84.0000 11 CAROL F 14.0000 62.8000 102.5000 12 HENRY M 15.0000 63.5000 102.5000 13 ALFRED M 14.0000 69.0000 112.5000 14 JUDY F 14.0000 64.3000 90.0000 15 JANET F 15.0000 62.5000 112.5000 16 MARY F 15.0000 66.5000 112.0000 17 RONALD M 15.0000 67.0000 133.0000 18 WILLIAM M 15.0000 66.5000 112.0000 19 PHILIP M 16.0000 72.0000 150.0000
Notice that there is a gap in the data where the deleted observation was (observation 5). To renumber the observations and close the gaps, submit the PURGE statement. Note that the PURGE statement deletes any indexes associated with a data set. Here is the statement:
> purge;
Copyright © 2009 by SAS Institute Inc., Cary, NC, USA. All rights reserved.