楼主: 等风来撒
3016 24

数据合并问题。。。。 [推广有奖]

  • 0关注
  • 0粉丝

博士生

40%

还不是VIP/贵宾

-

威望
0
论坛币
490 个
通用积分
35.4021
学术水平
0 点
热心指数
5 点
信用等级
0 点
经验
2497 点
帖子
220
精华
0
在线时间
233 小时
注册时间
2014-1-5
最后登录
2025-7-23

楼主
等风来撒 发表于 2016-11-11 17:12:52 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
有数据集A B分别格式如下
A数据集
date  a b  var1 var2
(例如有50个数据)

B数据集

date a b var19  var25
(例如有25个数据)

如果用平常方法合并,结果就是

date          a          b       var1 var2            var19 var25
前50个数据                   前50个数据          这里是......
后25个数据                    这里是......          后25个数据


但我想把不同的变量都合并到一起,结果就是

date   a   b       变量1   变量2
一共75个数据       一共75个数据

也就是说,虽然需要合并的变量名字不相等,但是变量个数都是一样的(假设是10个)
请问下怎么合并?我想到两种方法都不行啊,一种是把需要合并的变量改名,但是变量名都是不规则的
另外一种是合并后把所有数据都往左边靠。。。。。。


请问高手怎么办啊。。。。。。。。。


二维码

扫码加我 拉你入群

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

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

关键词:数据合并 date 变量个数 VaR ATE

这个...........

沙发
wang1839 在职认证  发表于 2016-11-11 19:55:23
你首先要弄清楚你是要SET还是MERGE,看BY什么变量进行合并。建议去看看SAS base的相关知识

藤椅
等风来撒 发表于 2016-11-14 08:13:33
wang1839 发表于 2016-11-11 19:55
你首先要弄清楚你是要SET还是MERGE,看BY什么变量进行合并。建议去看看SAS base的相关知识
主要是变量名字不一样,合并之后无论如何都有点出现,不知道能不能统一把名字改掉...........

板凳
learsaas 发表于 2016-11-14 10:16:08
可以用macro解决你的问题

报纸
wang1839 在职认证  发表于 2016-11-14 10:39:29
首先弄清楚两个数据集的变量对应关系,听你意思是要批量重命名SET,那么你把对应的变量名改为一致就可以SET了 如
data c;
set a b(rename=(var19=v1 var25=v2));
by a b;
run;

地板
等风来撒 发表于 2016-11-14 13:51:44
wang1839 发表于 2016-11-14 10:39
首先弄清楚两个数据集的变量对应关系,听你意思是要批量重命名SET,那么你把对应的变量名改为一致就可以SET ...
嗯,这个方法可行,但是我每次都要打开数据集看看是哪些变量然后再改名,由于我生成出来的变量是随机的,请问下有没有办法就是可以把从第N个变量到N+10个变量开始改名这样的呢- -?

7
等风来撒 发表于 2016-11-14 14:37:39
learsaas 发表于 2016-11-14 10:16
可以用macro解决你的问题
请问下怎么用额.....我前面的程序已经好多宏了,会不会运行速度很慢- -?

8
等风来撒 发表于 2016-11-15 08:04:55
求高手解答........

9
等风来撒 发表于 2016-11-15 11:09:07
求高手回复.....

10
zhangzachary 发表于 2016-11-15 16:20:51
等风来撒 发表于 2016-11-14 13:51
嗯,这个方法可行,但是我每次都要打开数据集看看是哪些变量然后再改名,由于我生成出来的变量是随机的,请问 ...
你的变量名是随机的?那就把随机的变量名修改成有规律的

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

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