由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - sas一问
相关主题
character变date variable helpWhat is wrong with following code?
问一个sas format问题a question regarding sas programming
SAS data merge求助One question about data step in sas
how to use first.var in sas macro?SAS.Base(11月)疑问
SAS Base 50题中的30和33题疑问SAS Base 123题再一问...
sas date variable exchange怎么去掉一个CHARACTER VAR中的delimiters
求SAS code请教一个SAS recode variable的问题吧
关于substr一问, thanks!急问,在线等:SAS adv certification Question about SELECT v.s IF/THEN ELSE
相关话题的讨论汇总
话题: input话题: variable话题: numeric话题: invalid话题: note
进入Statistics版参与讨论
1 (共1页)
z**********i
发帖数: 12276
1
有个CHARACTER variable:
ID
0121K
1021I
0212H
如何把它们变成NUMERIC VARIABLE呢?
我试了,ID_N=INPUT(ID,5.0)
可是不行呢?
多谢指教!
d******r
发帖数: 1389
2
我试了一下,可以呀

【在 z**********i 的大作中提到】
: 有个CHARACTER variable:
: ID
: 0121K
: 1021I
: 0212H
: 如何把它们变成NUMERIC VARIABLE呢?
: 我试了,ID_N=INPUT(ID,5.0)
: 可是不行呢?
: 多谢指教!

z**********i
发帖数: 12276
3
NOTE: Invalid argument to function INPUT
折腾一晚上了。
能把你试的,给我看看吗?
多谢!

【在 d******r 的大作中提到】
: 我试了一下,可以呀
z**********i
发帖数: 12276
4
DATA A;
INPUT ID $;
CARDS;
0102K
1201I
1232J
;
RUN;
DATA B;
SET A;
ID_N=INPUT(ID,5.0);
RUN;
啥问题呢?
NOTE: Invalid argument to function INPUT at line 483 column 7.
ID=0102K ID_N=. _ERROR_=1 _N_=1
NOTE: Invalid argument to function INPUT at line 483 column 7.
ID=1201I ID_N=. _ERROR_=1 _N_=2
NOTE: Invalid argument to function INPUT at line 483 column 7.
ID=1232J ID_N=. _ERROR_=1 _N_=3

【在 z**********i 的大作中提到】
: 有个CHARACTER variable:
: ID
: 0121K
: 1021I
: 0212H
: 如何把它们变成NUMERIC VARIABLE呢?
: 我试了,ID_N=INPUT(ID,5.0)
: 可是不行呢?
: 多谢指教!

d******r
发帖数: 1389
5
data x;
input
ID: $;
datalines;
0121K
1021I
0102H
;
proc contents data=x;run;
data new;
set x;
ID_n=input(ID,5.0);
proc contents data=new;run;
这样的,我也是新手,不知道有没有什么问题

【在 z**********i 的大作中提到】
: DATA A;
: INPUT ID $;
: CARDS;
: 0102K
: 1201I
: 1232J
: ;
: RUN;
: DATA B;
: SET A;

z**********i
发帖数: 12276
6
哈哈。ID_n实际上MISSING.
虽然,从CONTENT来看是NUMERIC.
这就是我的问题,为什么没有值呢?
多谢!!

【在 d******r 的大作中提到】
: data x;
: input
: ID: $;
: datalines;
: 0121K
: 1021I
: 0102H
: ;
: proc contents data=x;run;
: data new;

G**S
发帖数: 1108
7
应为你的id里有char value
try this;
id_n=input(substr(id,1,4),4.);

【在 z**********i 的大作中提到】
: 有个CHARACTER variable:
: ID
: 0121K
: 1021I
: 0212H
: 如何把它们变成NUMERIC VARIABLE呢?
: 我试了,ID_N=INPUT(ID,5.0)
: 可是不行呢?
: 多谢指教!

z**********i
发帖数: 12276
8
我不想改变id的名字,因为很多,如果变了就有相同的了。
看来,是没办法了。不改变id,而且把它变成numeric的了。

【在 G**S 的大作中提到】
: 应为你的id里有char value
: try this;
: id_n=input(substr(id,1,4),4.);

G**S
发帖数: 1108
9
you can separate id into two variables, then use these two to do sorting or whatever.
id_n=input(substr(id,1,4),4.);
id_c=substr(id,5);

【在 z**********i 的大作中提到】
: 我不想改变id的名字,因为很多,如果变了就有相同的了。
: 看来,是没办法了。不改变id,而且把它变成numeric的了。

z**********i
发帖数: 12276
10
这个想法很好,多谢!!

sorting or whatever.

【在 G**S 的大作中提到】
: you can separate id into two variables, then use these two to do sorting or whatever.
: id_n=input(substr(id,1,4),4.);
: id_c=substr(id,5);

g*******y
发帖数: 380
11
能解释一下你为什么要把ID变成numeric variable吗?
z**********i
发帖数: 12276
12
因为还有其他一些numeric variables一起transpose.
如果,和ID一起transpose,它们也变成character variable了。
这时,我发现日期在这两个datasets里发生了变化:
如果日期按照numeric来transpose,它显示的是days,比如17832;
而如果按照character来transpose,它显示的是mm/dd/yyyy.
下一步,我要与另一个dataset比对日期,所以,我希望是days,比较方便。
但我还想keep ID,因为比对后,我要报告是哪个ID.

【在 g*******y 的大作中提到】
: 能解释一下你为什么要把ID变成numeric variable吗?
w***y
发帖数: 114
13
I think you create a variable "newid" which can represent you id,
newid=_n_;
you also can use
proc format
value idf
1=""
2=""
3=''
change it back to id
1 (共1页)
进入Statistics版参与讨论
相关主题
急问,在线等:SAS adv certification Question about SELECT v.s IF/THEN ELSESAS Base 50题中的30和33题疑问
一个关于macro的问题,多谢。sas date variable exchange
sas question求SAS code
怎样在data step跳过格式不对的data record?关于substr一问, thanks!
character变date variable helpWhat is wrong with following code?
问一个sas format问题a question regarding sas programming
SAS data merge求助One question about data step in sas
how to use first.var in sas macro?SAS.Base(11月)疑问
相关话题的讨论汇总
话题: input话题: variable话题: numeric话题: invalid话题: note