经管之家App
让优质教育人人可得
立即打开
全部版块
我的主页
›
论坛
›
数据科学与人工智能
›
数据分析与数据科学
›
SAS专版
请求sas中输出的问题
楼主
oxwolf
2689
9
收藏
2010-07-05
悬赏
10
个论坛币
未解决
在sas中生成了table s1和s2,各有2列,我想新生成一个table:my_data,把s1和s2的第二列粘贴过来放在my_data中,请问怎么编程实现。
比如:
s1 2010-3-1 334
2010-3-2 786
2010-3-3 378
s1 2010-3-1 124
2010-3-2 346
2010-3-3 675
要生成my_data:
334 124
786 346
378 675
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
全部回复
沙发
pobel
2010-7-5 15:55:30
data s1;
input date $ col1;
datalines;
2010-3-1 334
2010-3-2 786
2010-3-3 378
;
data s2;
input date $ col2;
datalines;
2010-3-1 124
2010-3-2 346
2010-3-3 675
;
data my_data;
merge s1 s2;
by date;
keep col1 col2;
run;
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
藤椅
oxwolf
2010-7-6 10:27:55
我想请问一下,因为s1和s2是sas输出的table,第一列是日期,第二例分别是num for s1 和num for s2,我使用merge的时候,keep num for s1 num for s2发生了错误,我想是因为num for s1这个label名称之间有空格, 请问该怎么修改呢
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
板凳
pobel
2010-7-6 10:44:16
一般SAS变量名只能包括字母,数字和下划线(以字母或下划线开头),不能有空格。
Keep num_for_s1 num_for_s2;
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
报纸
oxwolf
2010-7-6 13:13:11
谢谢楼上的回答。s1和s2是forecast模块输出的,因此s1的第二列自动命名为num for s1,请问有什么方法处理吗?感谢您的回答
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
地板
pobel
2010-7-6 13:45:00
"num for s1" 应该是变量的label吧,keep语句需要用变量名。
或者用drop date;语句。
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
点击查看更多内容…
7楼
oxwolf
2010-7-6 14:07:12
谢谢您的回答,确实是label。现在的麻烦是由sas输出的s1,s2.。。。。等table中第二列的name都是num,这样怎么才能合并呢?改name?谢谢您的回答。
btw:我怎么才能再赠送您论坛币呢
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
8楼
crackman
2010-7-6 14:08:30
data s1;
input date $9. num@;
datalines;
2010-3-1 334
2010-3-2 786
2010-3-3 378
;
run;
data s2;
input date $9. num@;
datalines;
2010-3-1 124
2010-3-2 346
2010-3-3 675
;
run;
/* ********用sort+merge************************************************************************
proc sort data=s1 out=s1(rename=(num=num1));
by date;
run;
proc sort data=s2 out=s2(rename=(num=num2));
by date;
run;
data result;
merge s1 s2;
by date;
drop date;
run;
*/
/* *******SQL***********************************************************************************
proc sql;
create table resultsql as select s1.num as num1,s2.num as num2 from s1 join s2 on s1.date=s2.date;
quit;
*/
/* APPEND+LAG*************************************************************************************
proc append base=s1 data=s2;
run;
data s1;
set s1;
num1=lag3(num);
if num1^=.;
drop date;
run;
*/
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
9楼
crackman
2010-7-6 23:41:07
还有一个方法就是
data s1;
input date $9. num@;
datalines;
2010-3-1 334
2010-3-2 786
2010-3-3 378
;
run;
data s2;
input date $9. num@;
datalines;
2010-3-1 124
2010-3-2 346
2010-3-3 675
;
run;
data _null_;
set s2;
call symput("num"||left(_n_),num);
run;
data s1;
set s1;
num2=symget("num"||left(_n_));
drop date;
run;
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
10楼
oxwolf
2010-7-7 09:33:59
非常感谢版主啊,解决了
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
相关推荐
data.table对表进行操作之后,原始表和中间表都会改变,求解决这个问题的良方,谢谢!
data.table的 := 问题
data.table定义好后行数是不是就不能扩展赋值了?
关于data.table转置的问题,新人第一帖,求朋友们帮忙
R中为什么安装不了data.table包?
关于data.table时间索引的问题
data.table进行t检验
data.table数据替换问题
r语言中data.table如何添加一行
带有R data.table的多维频率
栏目导航
SAS专版
经管高考
学术资源/课程/会议/讲座
经管文库(原现金交易版)
EViews专版
休闲灌水
热门文章
CDA 数据分析师:特征处理核心指南
投资人与创始人互坑套路
全球能源转型展望2025—全球和区域预测至20 ...
中国金融生成式AI多模态内容鉴伪与安全防御 ...
自己整理的私募股权投资实操手册。
海外资管机构赴上海投资指南(2025版)
全球企业社会责任报告数据
USPS账号又“暴雷”,合规浪潮来袭!
世界机器人2025年报告 World Robotics 2025
瓦尔拉斯框架与阿罗德布鲁 - SMD 框架的核心 ...
推荐文章
AI狂潮席卷学术圈,不会编程也能打造专属智 ...
10月重磅来袭|《打造Coze/Dify专属学术智能 ...
最快1年拿证,学费不足5W!热门美国人工智能 ...
关于如何利用文献的若干建议
关于学术研究和论文发表的一些建议
关于科研中如何学习基础知识的一些建议 (一 ...
一个自编的经济学建模小案例 --写给授课本科 ...
AI智能体赋能教学改革: 全国AI教育教学应用 ...
2025中国AIoT产业全景图谱报告-406页
关于文献求助的一些建议
说点什么
分享
微信
QQ空间
QQ
微博
扫码加好友,拉您进群
各岗位、行业、专业交流群