楼主: cnmercury
10714 7

请问在sas中如何获取一个变量的某一个观测值 [推广有奖]

  • 0关注
  • 3粉丝

博士生

51%

还不是VIP/贵宾

-

威望
0
论坛币
3132 个
通用积分
29.2640
学术水平
2 点
热心指数
2 点
信用等级
0 点
经验
4174 点
帖子
88
精华
0
在线时间
342 小时
注册时间
2012-12-29
最后登录
2024-3-12

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
比如我现在有一个数据组,里面有x,y俩个变量,各有20个观测值,我想用宏x1-x20,y1-y20去保存这40个值,求问有没有什么办法可以让我在代码的其他部分可以随时调用这些值?可以用循环语句完成吗?

二维码

扫码加我 拉你入群

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

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

关键词:观测值 循环语句 有没有 如何

沙发
cnmercury 发表于 2014-5-4 17:38:41 |只看作者 |坛友微信交流群
没有人回答么

使用道具

藤椅
intheangel 学生认证  发表于 2014-5-4 18:09:26 |只看作者 |坛友微信交流群
cnmercury 发表于 2014-5-4 17:38
没有人回答么
  1. proc sql noprint;
  2. select x into: idx separated by ' ' from a;

  3. %do i=1 %to 20;
  4. %let xx=%scan(&idx,&i,' ') ;
复制代码
这是提取x的,这个代码我没写全,大致意思就是这样,用' '分隔,再逐个提取就好
我是一只瘦瘦的小猪~~~
╭︿︿︿╮
{/-◎◎-/}
( (oo) )
  ︶︶︶

使用道具

板凳
intheangel 学生认证  发表于 2014-5-4 18:10:15 |只看作者 |坛友微信交流群
cnmercury 发表于 2014-5-4 17:38
没有人回答么
  1. %let x&i.=%scan(&idx,&i,' ')
复制代码
改一下
我是一只瘦瘦的小猪~~~
╭︿︿︿╮
{/-◎◎-/}
( (oo) )
  ︶︶︶

使用道具

报纸
intheangel 学生认证  发表于 2014-5-4 18:14:07 |只看作者 |坛友微信交流群
  1. %macro a;
  2. %do i=1 %to 20;
  3. data a;
  4. set a;
  5. if _n_=&i.;
  6. %global x&i. y&i.;
  7. call symput("x&i.",x);
  8. call symput("y&i.",y);
  9. %end;
  10. %mend a;
复制代码
这种方法可能比较容易理解,不过会比较耗内存,是个笨方法
已有 1 人评分学术水平 热心指数 收起 理由
cnmercury + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 1  热心指数 + 1   查看全部评分

我是一只瘦瘦的小猪~~~
╭︿︿︿╮
{/-◎◎-/}
( (oo) )
  ︶︶︶

使用道具

地板
cnmercury 发表于 2014-5-4 20:23:14 |只看作者 |坛友微信交流群
多谢多谢

使用道具

intheangel 发表于 2014-5-4 18:14
这种方法可能比较容易理解,不过会比较耗内存,是个笨方法
你好!我想请问一下调用的时候应该是什么格式呢?比如我想替换掉下面等号左边数字的部分应该怎么写呢?直接改为x&i.,或者ctrl.x&i.吗?谢谢啦!!
%macro mac;
%do i=1 %to 30;
proc format ;
invalue grpfmt
low-0.4=0
0.4<-0.7=1
0.7<-1.0=2
1.0<-1.3=3
1.3<-high=4;
run;

%End;
%MEND mac;
%mac;

使用道具

8
wpfwxn 发表于 2015-2-2 15:24:10 |只看作者 |坛友微信交流群
firstobs + call symputx

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-23 17:18