楼主: Amandanannn
5605 6

关于Proc TRANSPOSE 的疑问 [推广有奖]

  • 0关注
  • 1粉丝

本科生

6%

还不是VIP/贵宾

-

威望
0
论坛币
3 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
16704 点
帖子
40
精华
0
在线时间
79 小时
注册时间
2015-12-12
最后登录
2018-7-13

楼主
Amandanannn 发表于 2016-1-22 23:59:55 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
有一组数据,用了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] …… 烦请论坛里的大神指点!多谢多谢!
二维码

扫码加我 拉你入群

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

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

关键词:Transpose Trans pose ans POS visit 如何

回帖推荐

kunkunred 发表于5楼  查看完整内容

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 ...

kunkunred 发表于3楼  查看完整内容

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;

沙发
131417chenbo 学生认证  发表于 2016-1-23 00:23:37 来自手机
Amandanannn 发表于 2016-1-22 23:59
有一组数据,用了Proc transpose进行过行列互换之后,如何进行再次互换回到原来的格式呢??

data sbp
同问

藤椅
kunkunred 发表于 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;
已有 2 人评分论坛币 学术水平 热心指数 收起 理由
Amandanannn + 1 + 1 精彩帖子
admin_kefu + 25 热心帮助其他会员

总评分: 论坛币 + 25  学术水平 + 1  热心指数 + 1   查看全部评分

板凳
Amandanannn 发表于 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]

报纸
kunkunred 发表于 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;

地板
Amandanannn 发表于 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]

7
kunkunred 发表于 2016-2-14 09:28:49
Amandanannn 发表于 2016-2-13 02:24
O(∩_∩)O感谢您的回复!感激得五体投地!!
现在我明白啦!前几天上课的时候老师有涉及这部分,再 ...
别客气,大家一起学习。

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-5 18:20