全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
5538 6
2016-01-22
有一组数据,用了Proc transpose进行过行列互换之后,如何进行再次互换回到原来的格式呢??

data sbp
input subject $ visit sbp;
datalines;
101 1 160
101 3 140
101 4 130
101 5 120
202 1 141
202 3 161
202 4 171
202 5 181
;
run;

proc transpose
data=sbp
out=sbpflat
prefix=VISIT;
by subject;
id visit;
var sbp;
run;

我试着同样用Proc transpose的方法再转换回去,可是怎么都不成功!转换之后的东西驴唇不对马嘴,variable的名字、行与列都不是我想要的样子 [mad] …… 烦请论坛里的大神指点!多谢多谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2016-1-23 00:23:37
Amandanannn 发表于 2016-1-22 23:59
有一组数据,用了Proc transpose进行过行列互换之后,如何进行再次互换回到原来的格式呢??

data sbp
同问
二维码

扫码加我 拉你入群

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

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

2016-1-23 04:35:39
You have to do it manually.

proc transpose
data=sbpflat
out=sbp1
prefix=sbp;
by subject;
run;
data sbp1(drop=_name_);
set sbp1;
rename sbp1=sbp;
visit=input(substr(_name_,length(_name_)),8.);
run;
二维码

扫码加我 拉你入群

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

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

2016-1-23 11:38:50
kunkunred 发表于 2016-1-23 04:35
You have to do it manually.

proc transpose
太赞了!![em17]

还有个疑问,在使用Proc transpose的时候,如何确定prefix后面要加的名字是用于哪个变量呢??
如果有Var语句,就知道是根据哪个变量做transpose,可是如果没有Var语句呢?怎么判断??

你的回复很简单,但逻辑很强!多谢多谢![em17][em17]
二维码

扫码加我 拉你入群

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

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

2016-2-11 06:16:34
Amandanannn 发表于 2016-1-23 11:38
太赞了!!

还有个疑问,在使用Proc transpose的时候,如何确定prefix后面要加的名字是用 ...
All the values in the columns that are not "by" or _name_ or _type_ (or maybe some other columns created by SAS) will be transposed into one column with name defined by prefix.

In the following example, you will find that I created a column "a" in sbpflat before transposing and it will be transposed and included in column "sbp1".

At the same time, I also created a column "_type_", but it was ignored together with "_name_" by proc transpose.

Hope that answers your question.

data sbp;
input subject $ visit sbp;
datalines;
101 1 160
101 3 140
101 4 130
101 5 120
202 1 141
202 3 161
202 4 171
202 5 181
;
run;

proc transpose
data=sbp
out=sbpflat
prefix=VISIT;
by subject;
id visit;
var sbp;
run;

data sbpflat;
set sbpflat;
_type_="A";
a=visit1+visit3;

run;

proc transpose
data=sbpflat
out=sbp1
prefix=sbp;
by subject;
run;
二维码

扫码加我 拉你入群

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

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

2016-2-13 02:24:59
kunkunred 发表于 2016-2-11 06:16
All the values in the columns that are not "by" or _name_ or _type_ (or maybe some other columns ...
O(∩_∩)O感谢您的回复!感激得五体投地!!
现在我明白啦!前几天上课的时候老师有涉及这部分,再加上看了您精湛的回复,忽然觉得世界一下子明亮了!
正在准备SAS Adv考试,今后可能还不断地有诸多疑问,还请您不吝赐教![em49]
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群