我创建了以下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%知道哪里出了问题。
如何解决该问题?
答案 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;