SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 924|回复: 4
打印 上一主题 下一主题

如何将变量名编程观测值

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2010-9-8 20:34:04 | 只看该作者

如何将变量名编程观测值

数据集是
变量名 a1 a2 a3 a5........ a10
            1   0    3  1 ..........7
            3    0   5   0..........6

如果某一行某个变量不等于0,那么将这个变量名和变量名最后的数字输出在这一行,假如第一行只有a1 a5 a10不等于0,第一行变成:

1   0    3  1 ..........7  a1 1 a5 5 a10 10

先拜谢各位了。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2010-9-10 00:18:58 | 只看该作者

Re: 如何将变量名编程观测值

[code:19gvco7o]data raw;
    input a1 a2 a3 a4 a5;
datalines;
1 0 3 1 7
3 0 5 0 6
;

data raw(drop=i);
    length text $50;
    set raw;
    array a{*} a1-a5;
    do i=1 to dim(a);
        if a(i) ne 0 then text=catx(' ',text,vname(a(i)),i);
    end;
run;[/code:19gvco7o]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2010-9-10 19:43:31 | 只看该作者

Re: 如何将变量名编程观测值

先谢过,不过我想得到的不是一个TEXT里面 是a1 1 a5 5 a10 10 属于不同的变量名,求教大侠如何实现啊?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2010-9-12 18:52:27 | 只看该作者

Re: 如何将变量名编程观测值

没看懂
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2010-9-12 18:58:26 | 只看该作者

Re: 如何将变量名编程观测值

您写的程序把a1 1 a5 5 a10 10 连在一起当成了一个字符串成为了一列,我想让他们成为6列,请问怎么实现?
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-3 22:06 , Processed in 0.112403 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表