3711 5

用SAS在EXCEL数据集里面替换数据 [推广有奖]

  • 0关注
  • 4粉丝

教授

12%

还不是VIP/贵宾

-

威望
0
论坛币
6752 个
通用积分
15.6910
学术水平
18 点
热心指数
24 点
信用等级
15 点
经验
407 点
帖子
1190
精华
0
在线时间
996 小时
注册时间
2013-1-20
最后登录
2024-4-1

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
这里是一个excel的数据集,从左到右有四个变量number1,data1,number2,data2。我的问题是这样的,如果number2里面的数据与number1里面的数据相等的话,用data2这个变量的数据来替换data1里面的数据。还需要考虑的是number2里面的数据可能有好几个是和number1里的数据匹配的,出现这种情况时,我只想用number2出现第一次时对应的data2里面的数据来替换data1里面的数据,求大神指点呀。。。。 data aaa.xlsx (9.06 MB)
二维码

扫码加我 拉你入群

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

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

关键词:excel数据 EXCEL exce xcel cel excel EXCEL

clean data.xlsx

9.06 MB

沙发
yongyitian 发表于 2014-1-2 12:52:04 |只看作者 |坛友微信交流群
  1. PROC IMPORT OUT= WORK.Aaa
  2.    DATAFILE= "F:\MySAS\data_aaa.xls"
  3.             DBMS=EXCEL REPLACE;
  4.      SHEET="Sheet1$";
  5.      GETNAMES=YES;
  6.      MIXED=NO;
  7.      SCANTEXT=YES;
  8.      USEDATE=YES;
  9.      SCANTIME=YES;
  10. RUN;

  11. proc sort data = aaa(keep=number1 data1) out=aaa1;
  12.     by number1;
  13.     where ^missing(number1);
  14. run;
  15. proc sort data = aaa(keep=number2 data2) out=aaa2;
  16.      by number2;
  17.      where ^missing(number2);
  18. run;

  19. data aaa22;
  20.      set aaa2;
  21.      by number2;
  22.      if first.number2;
  23. run;

  24. data bbb;
  25.     merge aaa1 (in=ina)
  26.           aaa22(in=inb rename=(number2=number1 data2=data1));
  27.     by number1;   
  28.     if ina;
  29. run;
复制代码

使用道具

yongyitian 发表于 2014-1-2 12:52
不知道为什么,SAS导入excel的时候总是会出现error。如下:
ERROR: Connect: ???????????
ERROR: Error in the LIBNAME statement.

使用道具

板凳
heperwong 发表于 2014-1-2 16:00:37 |只看作者 |坛友微信交流群
小宝爱波1314 发表于 2014-1-2 13:09
不知道为什么,SAS导入excel的时候总是会出现error。如下:
ERROR: Connect: ???????????
ERROR: Error ...
You can use the Import Wizard to import, select File-> Import Data. This way will create file that includes right sas programs.

使用道具

heperwong 发表于 2014-1-2 16:00
You can use the Import Wizard to import, select File-> Import Data. This way will create file th ...
可以啦,我用的是dde

使用道具

yongyitian 发表于 2014-1-2 12:52
您好,我又遇到一个SAS问题,想要请教您。
用SAS来对类似以下的一个数据集产生子集
ID     DATATYPE     ORI_DATA    COR_DATA
1            A                    XXX           XYX
1            A                    XYX           XXY
2            A                    YYY           ZMZ
2            B                    TTT           TRT
3            C                    YYX           YYY
4            D                    ZZZ           ZZX;

要求:
按照datatype变量来产生子集,即上述数据的前三个datatype为“A”的话,放到一个子集里面,以A命名子集。
原来的数据非常的多,datatype可以按照顺序排出来,但是如果用单纯的where或者if语句来产生子集,需要写很多的类似的行,您能指点一下么?

使用道具

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

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

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

GMT+8, 2024-4-28 16:47