由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - 请教一个transpose的问题,在线等
相关主题
一个SAS初级问题。。。菜鸟求教which route in SAS is faster?
how to trasform data.请教 2 道SAS Adv 真题
求高人指点一个SAS数据的转换问题急!SAS adv的一道题,谢谢!
请教大家一个SAS combine data set 的问题sas问题
sas大牛们这个要怎么实现呀请教SAS ADV一道题!
发包子求助SAS code有没有好的文章讲解ID和by statement?
大数据sort可以用tagsort请教如何用SAS处理这个RANDOM SAMPLING的问题
How to Macro it in SAS?[合集] SAS的问题
相关话题的讨论汇总
话题: 101话题: 1000话题: 07话题: 100话题: 06
进入Statistics版参与讨论
1 (共1页)
g********3
发帖数: 123
1
偶有个问题:
原来的data是:
A B C D
100 07 1000 40
100 07 1000 40
100 07 1001 30
100 06 1000 10
100 06 1001 0
101 06 1000 20
101 06 1003 70
101 07 1000 0
101 07 1003 0
要变成:
A C D07 D06
100 1000 40 10
100 1001 30 0
101 1000 0 20
101 1003 0 70
请问应该如何转?
谢谢!
l*********s
发帖数: 5409
2
don't do this in SAS, it is not trivial.
c******n
发帖数: 380
3
感觉只用transpose够呛,id values只能出现一次,就算是在同一个by group里也有重
复的,估计得连A一起transpose,然后在data step里再output
g********d
发帖数: 2022
4
data one;
input A B $ C D;
cards;
100 07 1000 40
100 07 1000 40
100 07 1001 30
100 06 1000 10
100 06 1001 0
101 06 1000 20
101 06 1003 70
101 07 1000 0
101 07 1003 0
;
run;
proc sort out=two;by A C B D; run;
data three;
set two;
by A C B D;
if first.D then output;
run;
proc transpose out=fin prefix=D;
by A C;
ID B;
var D;
run;

【在 g********3 的大作中提到】
: 偶有个问题:
: 原来的data是:
: A B C D
: 100 07 1000 40
: 100 07 1000 40
: 100 07 1001 30
: 100 06 1000 10
: 100 06 1001 0
: 101 06 1000 20
: 101 06 1003 70

b******e
发帖数: 539
5
把楼上的程序稍微改了一下:
proc sort data=aaa out=bbb nodupkey; by A C B D; run;
proc transpose data=bbb out=fin prefix=D;
by A C;
ID B;
var D;
run;
g********d
发帖数: 2022
6
nice,3Q

【在 b******e 的大作中提到】
: 把楼上的程序稍微改了一下:
: proc sort data=aaa out=bbb nodupkey; by A C B D; run;
: proc transpose data=bbb out=fin prefix=D;
: by A C;
: ID B;
: var D;
: run;

S******y
发帖数: 1123
7
#transpose.py
#Python 2.6
S = '''100 07 1000 40
100 07 1000 40
100 07 1001 30
100 06 1000 10
100 06 1001 0
101 06 1000 20
101 06 1003 70
101 07 1000 0
101 07 1003 0'''
d={}
for line in S.split('\n'):
A, B, C, D = line.split()
keyx = A + ',' + C
if keyx not in d:
d[keyx] = {}
d[keyx][B]= D

print 'A,C,D07,D06' #title row
for k in sorted
1 (共1页)
进入Statistics版参与讨论
相关主题
[合集] SAS的问题sas大牛们这个要怎么实现呀
求教 SAS数据转化发包子求助SAS code
SAS中如何只保留变量名中含有reading的变量啊大数据sort可以用tagsort
如何将SAS DATA中的变量名改名(不知道原变量名的前提下)How to Macro it in SAS?
一个SAS初级问题。。。菜鸟求教which route in SAS is faster?
how to trasform data.请教 2 道SAS Adv 真题
求高人指点一个SAS数据的转换问题急!SAS adv的一道题,谢谢!
请教大家一个SAS combine data set 的问题sas问题
相关话题的讨论汇总
话题: 101话题: 1000话题: 07话题: 100话题: 06