首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >数字到数字格式

数字到数字格式
EN

Stack Overflow用户
提问于 2022-11-05 14:55:13
回答 1查看 30关注 0票数 0

我使用AVISITN填充某些记录的VISITNUM值,使用AVISITN作为引用填充VISITNUM的值。两者都是数值变量。因此,如果AVISITN = 10,我希望丢失的VISITNUM为1,等等。

代码语言:javascript
运行
复制
proc format;    
 
 invalue dummy_visnum
        10 = 1
        20 = 2        
        30 = 4
        40 = 5
        50 = 6
        60 = 7
        70 = 8
        80 = 9
        100= 10;
       

quit;

data have;
input VISITNUM :8. AVISITN :8.;
infile datalines dlm = '|';
datalines;
1|10|
2|20|
4|30|
5|40|
6|50|
7|60|
8|70|
1|10|
2|20|
4|30|
5|40|
6|50|
 |60|
 |70|
 |80|
1|10|
2|20|
4|30|
5|40|
 |50|
 |60|
 |70|
 |80|
1|10|
2|20|
 |30|
 |40|
 |50|
 |60|
 |70|
 |80|
;
RUN;

data want;
input VISITNUM :8. AVISITN :8.;
infile datalines dlm = '|';
datalines;
1|10|
2|20|
4|30|
5|40|
6|50|
7|60|
8|70|
1|10|
2|20|
4|30|
5|40|
6|50|
7|60|
8|70|
9|80|
1|10|
2|20|
4|30|
5|40|
6|50|
7|60|
8|70|
9|80|
1|10|
2|20|
4|30|
5|40|
6|50|
7|60|
8|70|
9|80|
 ;
RUN;

但是,当我运行这段代码时,它按预期工作,但我在日志中得到了一个警告:“数字值已转换为由:(行):(列)提供的位置上的字符值。”

代码语言:javascript
运行
复制
 visitnum = input(avisitn, dummy_visnum.); 

PROC格式的VALUE语句用于定义格式。INVALUE语句用于定义INFORMAT。在SAS中,您使用格式将值转换为文本,而INFORMAT用于将文本转换为值。对于INFORMAT,您正在告诉SAS,AVISITN是文本,但实际上是一个数字。因此,SAS将AVISITN转换为文本。因此,我知道这种方法不起作用,因为AVISITN正在被转换为文本,这将导致日志中的警告。所以我可以尝试这样的方法

代码语言:javascript
运行
复制
if missing(visitn) then visitn = avisitn / 10 or
visitnum = input(cats(mod(avisitn,10)),dummy_visnum.);

但是,数据有点异步,因为它没有一对一的转换,因为visitnum =3是AVISITN = 40,VISITNUM 4到9的转换是一样的,只有1,2和10才能工作。有没有人有其他的建议?我看到了一个使用find的散列对象data_null步骤,但不确定这在这里是否有效。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-05 15:39:35

..。您还可以使用INFORMAT将文本转换为数字。

因此,创建一种格式,将数字转换为与所需数字类似的字符串。然后,可以使用调用PUT()将数字转换为字符串,并将结果传递给PUT()以将这些字符串转换为数字。

代码语言:javascript
运行
复制
proc format ;
  value num2char 
    10 ='1'
    20 ='2'
    30 ='4'
    40 ='5'
    50 ='6'
    60 ='7'
    70 ='8'
    80 ='9'
  ;
run;
data want;
  set have;
  avistn = input(put(visitnum,num2char.),32.);
run;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74328773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档