楼主: 小鳄鱼a
1138 4

求助如何把观测设为其他观测 [推广有奖]

  • 6关注
  • 10粉丝

已卖:280份资源

学科带头人

3%

还不是VIP/贵宾

-

威望
0
论坛币
125 个
通用积分
0.0040
学术水平
40 点
热心指数
45 点
信用等级
43 点
经验
32801 点
帖子
1185
精华
0
在线时间
1539 小时
注册时间
2009-7-16
最后登录
2018-10-5

楼主
小鳄鱼a 发表于 2014-10-28 10:17:42 |AI写论文
30论坛币
x
a

6

3

b

6

8

c

8

2



原来的数据这样  
想变成这样


xy
aa

6

a

3

a
bb

6

b

8

b
cc

8

c

2

c

最佳答案

sniperhgy 查看完整内容

楼主你好,根据你的要求,是不是只要不是数字值的就代表分组?那么试试如下代码:
关键词:ABB BCC C2C 如何

沙发
sniperhgy 发表于 2014-10-28 10:17:43
楼主你好,根据你的要求,是不是只要不是数字值的就代表分组?那么试试如下代码:
  1. data temp;
  2.   input x $1.;
  3.   cards;
  4. a
  5. 6
  6. 3
  7. b
  8. 6
  9. 8
  10. c
  11. 8
  12. 2
  13. ;
  14. run;

  15. data temp2;
  16.   retain x y;
  17.   set temp;
  18.   if missing(input(x, best32.)) then
  19.     y = x;
  20. run;
复制代码
已有 1 人评分论坛币 收起 理由
admin_kefu + 100 根据规定进行奖励

总评分: 论坛币 + 100   查看全部评分

藤椅
小鳄鱼a 发表于 2014-10-28 19:57:39
sniperhgy 发表于 2014-10-28 10:17
楼主你好,根据你的要求,是不是只要不是数字值的就代表分组?那么试试如下代码:
谢谢  能否解释一下用法  

板凳
sniperhgy 发表于 2014-10-28 20:35:03
小鳄鱼a 发表于 2014-10-28 19:57
谢谢  能否解释一下用法
嗯,这个问题的难点就是SAS里面没有isnumber这种函数,所以咱们自己编写一个
if missing(input(x, best32.)),这句话的思路就是强制转换x到数值,如果转不过去,就是字符了,所以外层的missing会得到true的答案,如果可以转过去,那就是数字啊,所以missing得到false。

报纸
小鳄鱼a 发表于 2014-10-28 22:19:36
sniperhgy 发表于 2014-10-28 20:35
嗯,这个问题的难点就是SAS里面没有isnumber这种函数,所以咱们自己编写一个
if missing(input(x, best3 ...
越来越领会到编程需要发散思维了,多谢

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

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