SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

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

有一个变量是家庭代号,另一个是家庭人数,想根据前两个变量创造

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2005-4-3 01:40:05 | 只看该作者

有一个变量是家庭代号,另一个是家庭人数,想根据前两个变量创造

有一个变量是家庭代号,另一个是家庭人数,想根据前两个变量创造一个个人ID的变量应该怎样作?比如:
FamilyCode  Size
1001             2
1002             3
1003             4
......................
5003             6
想变成这样的
FamilyCode  Size    Personal ID
1001             2            10011
1002             3            10012
1003             4            10021
........... 10022
........... 10023
.......................................

如果反向操作呢?利用Personal ID 已经有的这个变量和每个人的收入水平,创造出整个家庭的收入水平和家庭平均收入水平应该怎样操作?非常感谢!
PersonalID  Income
10011          600   
10012          300
..............................
创造出
FamilyCode FamilyTotalIncome FamilyAverageIncome
1001         900                           450
1002         990                           330

多谢各位了!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2005-4-3 08:54:29 | 只看该作者

第一个。

data ori;
input FamilyCode Size ;
drop i;
do i=1 to size;
id=familycode||left(i);
output;
end;
cards;
1001 2
1002 3
1003 4
5003 6
run;
proc print;
run;
这是第一个问题,你的问题描述的第二段的数字都是错的。
还好我看出来了。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2005-4-3 09:01:10 | 只看该作者

第二个问题

data ori;
input ID$ Income ;
cards;
10011 600
10012 300
10021 400
10022 700
10023 400
;
run;

proc sql;
  select distinct substr(ID,1,4) as familyid,sum(income)as familyincome,mean(income) as familyincome
  from ori
  group by substr(ID,1,4)
  ;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2005-4-4 00:20:09 | 只看该作者

ahuige感谢你啊

太感谢ahuige兄的帮助了,对SAS的数据处理不熟悉,还有一个小问题,如果知道家庭总收入,家庭人数,怎样在创造个人ID的时候也创造出平均个人收入水平变量呢?
FamilyCode Size  TotalIncome
1001          2            1000
1002          3            1200
...........................求出
PersonalId   AverageIncome
10011           500
10012           500
10021           400
10022           400
10023           400
多谢拉!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2005-4-4 00:38:20 | 只看该作者

再次感谢!

ahuige兄,刚才弄了一下,后面那个请求不用麻烦了。多谢啊
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-8 23:59 , Processed in 0.068373 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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