楼主: qz111111
1407 8

[问答] 关于多个变量参照同一方式进行定义 [推广有奖]

  • 0关注
  • 0粉丝

高中生

65%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
154 点
帖子
13
精华
0
在线时间
43 小时
注册时间
2011-4-29
最后登录
2022-5-2

楼主
qz111111 发表于 2013-11-12 17:38:38 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
本人菜鸟 有个变量赋值的问题向各位高手请教

有几个字符型变量,想在其等于特定条件时进行赋值,即该变量与列表中任一字符串吻合,即赋为某一分数
现在的程序写成:
if var1='xx1' or var1='xx3' or var1='xx4' or var1='xx6'  …… then score1=1;
if var1='xx2' or var1='xx5' or var1='xx7' or var1='xx8'  …… then score1=2;……

一则列表中备选字符串较多,二则有六七个这样的var,这样写的话会成为一大片文本,也不好修改

真心求教各位高手有什么好的方法可以优化一下,在此谢谢了!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:多个变量 score 字符型变量 Then core 字符串 程序 大片

沙发
playmore 发表于 2013-11-13 08:52:32
根据你的xx1, xx2, ...这一系列的字符串的具体内容
可以使用正则表达式进行匹配
playmore邀请您访问ChinaTeX论坛!!!进入ChinaTeX论坛

藤椅
qz111111 发表于 2013-11-13 10:12:46
playmore 发表于 2013-11-13 08:52
根据你的xx1, xx2, ...这一系列的字符串的具体内容
可以使用正则表达式进行匹配
后面xx1,xx2,…的部分是自己定义的疾病诊断分类,没有规律可循,比如像“J44.0,C22.0,A16.2,C20,I26.9,I46.9……”
playmore教授能具体讲讲怎么用吗?谢谢了~

板凳
playmore 发表于 2013-11-13 12:54:10
qz111111 发表于 2013-11-13 10:12
后面xx1,xx2,…的部分是自己定义的疾病诊断分类,没有规律可循,比如像“J44.0,C22.0,A16.2,C20,I26. ...
你先在网上或者论坛上看一下有关正则表达式的内容

然后根据你的描述,你这里的xx1, xx2,... 可以用下面的正则表达式来匹配
\w\d{1-2}(.\d)?

具体是什么含义以及该怎么用就自己去搜吧,反正很简单
playmore邀请您访问ChinaTeX论坛!!!进入ChinaTeX论坛

报纸
crazygoing 发表于 2013-11-14 09:13:19
可以用数组来搞……

地板
crazygoing 发表于 2013-11-14 09:21:24
  1. data a;
  2. input xx1 xx3 xx4 xx6 k ;
  3. cards;
  4. 1 2 3 2        1
  5. 11 22 33  33 22
  6. 111 222 333 111 333
  7. ;
  8. run;

  9. data b (drop=i);
  10. set a;
  11. array tt(*) xx1 xx3;
  12. do i=1 to dim(tt) ;
  13. if k=tt(i) then score=1;
  14. end;
  15. array pp(*) xx4 xx6;
  16. do i=1 to dim(tt) ;
  17. if k=pp(i) then score=2;
  18. end;
  19. run;
复制代码

7
qz111111 发表于 2013-11-14 15:35:21
crazygoing 发表于 2013-11-14 09:21
感谢指点 但是有些看不懂
试过数组 但是说我指定的维度过多 所以不知道该怎么办了

8
crazygoing 发表于 2013-11-15 14:37:29
array tt(*) XXXXXXXXXXXXXX;  *XXXXXXX这里给你随便填自己的变量名;
do i=1 to dim(tt) ;
if k=tt(i) then score=1;
end;

9
qz111111 发表于 2013-11-19 19:36:49
crazygoing 发表于 2013-11-15 14:37
array tt(*) XXXXXXXXXXXXXX;  *XXXXXXX这里给你随便填自己的变量名;
do i=1 to dim(tt) ;
if k=tt(i) th ...
依然感谢!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-22 22:26