作者AmigoSafin ()
看板Statistics
标题[程式] SAS combine四个同样数量的栏位 用set
时间Sat Apr 28 02:03:41 2018
[软体程式类别]:
SAS
[程式问题]:
资料处理、回归、叙述统计、logistic、probit...等
资料处理
[软体熟悉度]:
请把以下不需要的部份删除
新手
[问题叙述]:
大家好
我有四个obs都是401个的dataset
第一个是baseline 第二个是month_12 第三个是group(为1或0) 第四个是时间
这四组每组的数量都是401个
我在SAS建了四个datasets
然後我想把他们combine再一起
变成四个栏位
我用了set
以下为我的code:
data sasuser.totalobs;
set sasuser.baseline sasuser.treattime sasuser.month12 sasuser.group (
firstobs=1 obs= 401);
proc print data=sasuser.totalobs;
run;
但是 他们却变成接续的一个matrix
也就是当baseline有数值的时候
其他栏位都是0
像这样:
obs baseline monthdata groupdata timedata
1 XXX . . .
是否我需要用merge才能让他们并列存在成四个栏位呢?
我用了firstobs=1 obs=401也无法改善
但merge必须要有共同的变数对吧?
我并没有 只想让他们并列
有什麽方法可以修改一下呢?
谢谢大家~~
--
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 129.21.68.158
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Statistics/M.1524852225.A.3B8.html
1F:推 a8111127: data xxx; set xxx; ord=_n_; run; 就可以在data里面加 04/28 03:05
2F:→ a8111127: 上观测值的顺序,四个data都这样用完之後再merge by ord 04/28 03:05
3F:→ a8111127: 不过我蛮好奇dataset里面怎麽会没有id啊,这样完全不能 04/28 03:10
4F:→ a8111127: 动到任何的顺序欸 04/28 03:10
5F:→ AmigoSafin: hah是我没有加ID啦 我以为obs就是ID了 所以我曾试过 04/28 08:34
6F:→ AmigoSafin: 用 by obs果然就不行 谢谢喔~~真是有点tricky 感觉是 04/28 08:34
7F:→ AmigoSafin: 单纯的用SAS处理就有点费劲 04/28 08:35
8F:→ AmigoSafin: 只是为什麽要动到顺序?@@ 04/28 08:35
9F:推 a8111127: 像treatment如果要proc freq,那就要照顺序排,而且要mer 04/28 11:03
10F:→ a8111127: ge什麽的都很不方便 04/28 11:03
11F:推 west1996: 如果要直接照obs merge的话,直接data XXX; merge XXX; 04/28 14:44
12F:→ west1996: 不要加by,就可以完成merge by obs了,不需要自己生流水 04/28 14:44
13F:→ west1996: 号出来 04/28 14:44
14F:→ AmigoSafin: 喔喔懂了~~谢谢大家!!抱歉我比较没有sense~刚开始学 04/28 20:11