将SAS字符变量更改为SAS数字变量?

时间:2018-09-11 17:02:42

标签: sas

我创建了以下SAS表:

DATA test;
INPUT name$ Group_Number;
CARDS;
Joseph 1
Stephanie 2
Linda 3
James 1
Jane 2; 
run;

我想将组号从字符类型更改为数字类型。

这是我的尝试:

data test2;
set test;
Group_Number1 = input(Group_Number, best5.);
run;

问题是我执行时:

proc contents data = test2; 
run;

输出表显示组号仍然是字符类型。我认为问题可能出在我的“最佳5”上。在我的输入语句中。但是我不是100%知道哪里出了问题。

如何解决该问题?

2 个答案:

答案 0 :(得分:0)

如果,您有一个字符变量,您的代码将起作用。但是您没有,样本数据中有一个数字变量。因此,您的虚假数据不正确,或者您没有认为自己存在的问题。

这是您可以查看此示例的示例。

*read group_number as numeric;
DATA test_num;
INPUT name$ Group_Number;
CARDS;
Joseph 1
Stephanie 2
Linda 3
James 1
Jane 2
; 
run;

Title 'Group_Number is Numeric!';
proc contents data=test;
run;

*read group_number as character;
DATA test_char;
INPUT name$ Group_Number $;
CARDS;
Joseph 1
Stephanie 2
Linda 3
James 1
Jane 2
; 
run;

data test_converted;
set test_char;
    group_number_num = input(group_number, 8.);
run;

Title 'Group_Number is Character, Group_Number1 is Numeric';
proc contents data=test_converted;
run;

答案 1 :(得分:0)

尝试一下:

data test2;
set test;
Group_Number1 = input(put(Group_Number,best5.),best5.);
run;