楼主: nomad5
2287 6

[问答] 如何提取变量 [推广有奖]

  • 0关注
  • 2粉丝

硕士生

0%

还不是VIP/贵宾

-

威望
0
论坛币
94 个
通用积分
1.0000
学术水平
13 点
热心指数
13 点
信用等级
11 点
经验
1898 点
帖子
90
精华
0
在线时间
114 小时
注册时间
2010-12-18
最后登录
2022-5-2

楼主
nomad5 发表于 2011-12-22 20:28:53 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
比如有6个变量。v1 v2 v3 v4 v5 v6

空 空 空 abc 空 空
空 def 空 空 空 空

然后我需要生成一个新的变量
newvar
abc
def

这样应该怎么写




二维码

扫码加我 拉你入群

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

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

关键词:如何提取 def ABC VaR NEW 如何

本帖被以下文库推荐

沙发
webgu 发表于 2011-12-22 22:13:10
如果一行只有一个变量合要求,可以简单试试如下代码:
  1. data tmp;
  2.   input (v1-v6) ($);
  3. datalines;
  4. 空 空 空 abc 空 空
  5. 空 def 空 空 空 空
  6. ;
  7. run;

  8. data out(keep=newvar);
  9.   set tmp;
  10. array tmp[*] v1-v6 ;
  11. do i=1 to dim(tmp) until(anyalpha(tmp[i]));
  12. if anyalpha(tmp(i)) then newvar=tmp[i];
  13. end;
  14. run;
复制代码
SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

藤椅
hopewell 发表于 2011-12-22 22:29:33
  1. data tmp;
  2.     length newvar $20;
  3.     infile datalines dsd dlm=' ';
  4.     input (v1-v6) ($);
  5.     newvar=cats(of v:);
  6. datalines;
  7.    abc  
  8. def   
  9. ;
复制代码
观钓颇逾垂钓趣 种花何问看花谁

板凳
webgu 发表于 2011-12-22 22:51:09
hopewell 发表于 2011-12-22 22:29
呵呵,看来我理解又错了。
SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

报纸
bobguy 发表于 2011-12-27 07:00:00
webgu 发表于 2011-12-22 22:13
如果一行只有一个变量合要求,可以简单试试如下代码:
纯属吹毛求疵. It is slight efficient.
data out(keep=newvar);
      set tmp;
    array tmp
  • v1-v6 ;
        do i=1 to dim(tmp) until(anyalpha(tmp(i)));
        end;
        newvar=tmp(i);
        run;
  • 地板
    bobguy 发表于 2011-12-27 07:04:45
    bobguy 发表于 2011-12-27 07:00
    纯属吹毛求疵. It is slight efficient.
    data out(keep=newvar);
          set tmp;
    纯属吹毛求疵. It is slight efficient.
    data out(keep=newvar);
          set tmp;
        array tmp
  •   
                v1-v6 ;
        do i=1 to dim(tmp) until(anyalpha(tmp));
        end;
        newvar=tmp;
        run;

  • 7
    webgu 发表于 2011-12-27 10:11:19
    bobguy 发表于 2011-12-27 07:04
    纯属吹毛求疵. It is slight efficient.
    data out(keep=newvar);
          set tmp;
    呵呵,谢谢。
    SAS资源
    1. SAS 微信:StatsThinking
    2. SAS QQ群:348941365

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

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