Date: Thu, 18 Nov 2004 10:24:05 -0500
Reply-To: Fred <ieaggie2002@gmail.com>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Fred <ieaggie2002@GMAIL.COM>
Subject: How to make the array/matrix operation easy in SAS?
Content-Type: text/plain; charset=US-ASCII
Hi, all
I do not know if there is some easy way to handle the array/matrix
operation.
Suppose I have a data set TEST:
data test;
input Group Var1 Var2 ;
cards;
1 11 10
2 25 20
3 12 3
4 15 30
5 12 24
6 19 40;
run;
1) How can I know the length of the above data set,which should be 6.
2) I want to truncate Var1 and Var2. For example, I need to remain
the last 4 values in Var1, and keep the first 4 values in Var2. That is,
the new data set New_test should be like:
12 10
15 20
12 3
19 30
How can I do this?
3). If I need to truncate the original data set by cutting out 1-3 values
from each variable, can I use DO WHILE statement to achieve this, my
logice is:
i =1:
DO WHILE (i<4)
NewVar1_{i} = Truncated Var1 by cutting its first i values;
NewVar2_{i} = Truncated Var1 by cutting its last i values;
i+1;
END;
Then I can have 6 new data sets: NewVar1_{1} -- NewVar2_{2}.
And need to merge the NewVar1_{i} and NewVar2_{i} into a single data set
such that they have the same length.
I find it is too difficult in SAS on using array and referring to the specific
value in it by an index.
Can anyboday give me some advice?
Thanks.
Fred