楼主: lemonxinran
9953 8

sas如何将两个变量的值合在一起 [推广有奖]

  • 0关注
  • 1粉丝

已卖:2份资源

讲师

30%

还不是VIP/贵宾

-

威望
0
论坛币
1155 个
通用积分
6.0000
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
10334 点
帖子
188
精华
0
在线时间
605 小时
注册时间
2010-10-25
最后登录
2025-4-2

楼主
lemonxinran 发表于 2013-1-9 16:05:56 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我有两个变量,year,month,都是数值型的,如下:
year month
2006 12
2005 8
2004  7
现在,我需要生成一个新的变量,将year和month的值放在一起,例如:
200612
200508
200407
也就是月份是单数时,前面还要加0,这个在sas中如何实现?
谢谢!
二维码

扫码加我 拉你入群

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

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

关键词:在一起 month year mont 如何实现 如何

沙发
webgu 发表于 2013-1-9 17:15:19
  1. data demo;
  2.   input year month;
  3.   datalines;
  4. 2006 12
  5. 2005 8
  6. 2004  7
  7. ;

  8. data want;
  9.    set demo;
  10.    yarmth=cats(put(year,z4.),put(month, z2.));
  11. run;
复制代码
SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

藤椅
lily83322 发表于 2013-1-9 18:56:12
data a;
informat  x $4. y $2.;
format  x $4. y $2.;
input x $  y $;
cards;
2007 10
2005 7
2010 12
;
run;

data b;
set a;
format c $10.;
if  length(y)<2 then  c=cat(x,0,y);
else  c=cat(x,y);
run;

板凳
00810112 发表于 2013-1-10 11:15:21
data demo;
  input year month;
  datalines;
2006 12
2005 8
2004  7
;
data want;
   set demo;
   yarmth=year*100+month;
run;

报纸
sailingyf 发表于 2013-1-10 11:50:13
对阿,我也觉得year*100+month*1 是最方便的。。。

地板
lemonxinran 发表于 2013-1-10 18:29:00
webgu 发表于 2013-1-9 17:15
非常感谢!

7
lemonxinran 发表于 2013-1-10 18:31:22
lily83322 发表于 2013-1-9 18:56
data a;
informat  x $4. y $2.;
format  x $4. y $2.;
谢谢!

8
lemonxinran 发表于 2013-1-10 18:32:17
00810112 发表于 2013-1-10 11:15
data demo;
  input year month;
  datalines;
谢谢哟!

9
guo.bailing 发表于 2013-1-10 18:51:40
  1. data test (drop=var_t);
  2. input year month @@;
  3. var_t=put(year,4.)||put(month,Z2.);
  4. var=input(var_t,6.);
  5. cards;
  6. 2006 12
  7. 2005 8
  8. 2004  7
  9. ;
  10. run;
  11. proc print;
  12. run;
复制代码


自助者,天助之!

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

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