Hi all, I am not sure if this question has been answered elsewhere (I've been trying to find it but haven't seen it anywhere) so bear with me. I have a multiple large datasets (some >1,000 observations and >30 variables) and I’ve been trying to convert my variables from character to numeric but it just isn’t working. The first way that I tried was using a basic numeric operation. For example: data y; set x; var1 = '.'; var1 = var*1; run; LOG: NOTE: Character values have been converted to numeric values at the places given by: (Line):(Column). 9:13 NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column). 9:21 NOTE: There were 600 observations read from the data set x. NOTE: The data set y has 600 observations and 33 variables. NOTE: DATA statement used (Total process time): real time 0.01 seconds cpu time 0.00 seconds When I look at the proc contents, var1 is character just like var. It looks like it gets converted twice (to numeric and then back again) on the log? I tried using the INPUT function as well: data y; set x; input var $1. subject_id; var1 = input(var,8.); datalines; 0 10101448 0 10101762 0 10102382 0 10103278 1 10103611 1 10104153 0 10104473 0 10104555 run; LOG: NOTE: There were 9 observations read from the data set x. NOTE: The data set y has 8 observations and 33 variables. NOTE: DATA statement used (Total process time): real time 0.00 seconds cpu time 0.00 seconds It worked this way for some variables and not for others (it worked this time when I ran it), but then when I looked at my data I realized it had deleted the observations for some of my variables altogether (specifically for subject_id). On a related note, it did that when I tried to use RENAME at a different time as well. I guess my questions are these: does anyone know another way to get my variables to be numeric? Do you know why it deleted some of my observations? I'm absolutely certain that there's an error in my code somewhere but it's been escaping me. Thanks!
... View more