Date: Wed, 23 Mar 2005 10:43:45 -0600
Reply-To: "Marks, Jim" <Jim.Marks@lodgenet.com>
Sender: "SPSSX(r) Discussion" <SPSSX-L@LISTSERV.UGA.EDU>
From: "Marks, Jim" <Jim.Marks@lodgenet.com>
Subject: Re: string to number
Content-Type: text/plain; charset="us-ascii"
Benny:
You can use RENAME and DROP to get the names onto the numeric versions
of the variables:
** sample data.
DATA LIST FREE /var_1 var_2 var_3 (3A1).
BEGIN DATA
1 2 3 0 0 0 1 2 1 3 0 0 0 0 5
END DATA.
** RECODE for new variables-- ADD with RENAME and DROP to clean file.
RECODE var_1 TO var_3 (CONVERT) INTO nbr_1 to nbr_3.
ADD FILES FILE = *
/RENAME (var_1 TO var_3 = d1 TO d3) (nbr_1 TO nbr_3 = var_1 TO var_3)
/DROP d1 to d3
EXECUTE.
Notice that I'm using "TO" in the variable lists-- my variables are in
consecutive order in the file. If your variables are not consecutive,
you will need to supply complete variable lists.
--jim
-----Original Message-----
From: SPSSX(r) Discussion [mailto:SPSSX-L@LISTSERV.UGA.EDU]On Behalf Of
Hector Maletta
Sent: Wednesday, March 23, 2005 10:17 AM
To: SPSSX-L@LISTSERV.UGA.EDU
Subject: Re: string to number
However, I don't see why the RECODE solution is not acceptable,
especially
because you can recode all the variables at one stroke, as in:
RECODE oldvariablelist (CONVERT) into newvariablelist.
If you choose your new variable names wisely you may not need to rename
them
back to the original variables' names. However, renaming is
instantaneous
and does not require a data pass, and so is DELETE VARIABLES. In older
versions you delete variables through the /DROP or /KEEP subcommands in
MATCH FILES or SAVE, which do require a data pass, but it is the same
data
pass used by the RECODE command, so no time is lost in that task (except
the
data pass may be a bit slower with more tasks to perform during the
pass).
Hector
> -----Original Message-----
> From: SPSSX(r) Discussion [mailto:SPSSX-L@LISTSERV.UGA.EDU]
> On Behalf Of Spousta Jan
> Sent: Wednesday, March 23, 2005 12:45 PM
> To: SPSSX-L@LISTSERV.UGA.EDU
> Subject: Re: string to number
>
>
> Hi,
>
> In the Variable View of the data editor, copy the word
> Numeric (Ctrl-C) in the Type column and paste it into the
> string columns (Ctrl-V) - it will convert them.
>
> Or write a macro if the syntax solution is needed.
>
> HTH
>
> Jan
>
> -----Original Message-----
> From: SPSSX(r) Discussion [mailto:SPSSX-L@LISTSERV.UGA.EDU]On
> Behalf Of Benny Kong
> Sent: Wednesday, March 23, 2005 4:42 PM
> To: SPSSX-L@LISTSERV.UGA.EDU
> Subject: string to number
>
>
> Hi,
>
> I need to change a bunch of variables from string to numberic values.
>
> For example,
>
> Var1 (A1)
> 0
> 1
> 0
> 1
>
> To,
>
> Var1 (F1)
> 0
> 1
> 0
> 1
>
>
>
> NUMBER function or RECODE is handy. However, I can only think
> of something as follows,
>
> recode var1 (convert) into var2.
> delete var1.
> rename var2 = var1.
> exe.
>
> The codes above seem not that efficient. I was wondering if I
> could do something directly (without creating an intermediate
> variable).
>
> Thank you guys very much in advance.
>
> Benny
>
|