经管之家App
让优质教育人人可得
立即打开
全部版块
我的主页
›
论坛
›
数据科学与人工智能
›
数据分析与数据科学
›
SAS专版
请求sas中输出的问题
楼主
oxwolf
2812
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专版
经管文库(原现金交易版)
行业分析报告
真实世界经济学(含财经时事)
商学院
Gauss专版
热门文章
CDA数据分析脱产就业班于2026年3月7日开班! ...
表格结构数据的核心特征及具象实例解析
中外历史年代对照表
湖南统计年鉴2025(Excel版)
高效办公—Word零基础教程
2026太空算力发展研究报告
中国提振消费的战略选择与国际经验,提振消 ...
Measure Theory for Analysis and Probabil ...
高教现代数学基础23 矩阵计算六讲 徐树方,钱 ...
【24顶刊热点!】2000-2024上市公司股价崩盘 ...
推荐文章
2026JG学术冬训营:从Stata初高到Python机器 ...
【必看】【本版版规,欢迎发悬赏贴求助】
26年寒假天津站|Gemini论文写作&数据分析 ...
关于如何利用文献的若干建议
关于学术研究和论文发表的一些建议
关于科研中如何学习基础知识的一些建议 (一 ...
一个自编的经济学建模小案例 --写给授课本科 ...
AI智能体赋能教学改革: 全国AI教育教学应用 ...
2025中国AIoT产业全景图谱报告-406页
关于文献求助的一些建议
说点什么
分享
微信
QQ空间
QQ
微博
扫码加好友,拉您进群
各岗位、行业、专业交流群