全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3355 5
2008-08-03

各位大哥大姐~~  我有一个很头痛的问题:数据重新排列

比如:  A  12 

            A     34

            B    47

            B    68

            B    52

这样的排列,我想把它变成下边的排列:

          A   12   34  

          B    47   68   52

有哪位大虾知道在sas或者其他统计软件里边怎么实现不?感激不尽!

二维码

扫码加我 拉你入群

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

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

全部回复
2008-8-3 01:46:00

假设A,B所在列的变量名为Parameter而后面的数值所在列的变量名为Value,程序如下

proc transpose data = dataname out = transdata;

var value;

id parameter;

run;

我没有测试 应该没问题

二维码

扫码加我 拉你入群

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

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

2008-8-3 02:01:00

sas base里面有一个叫做transpose的过程可以完成你的要求

假如你的数据如下:

Obs    name    value

 1      a        12
 2      a        34
 3      b        47
 4      b        68
 5      b        52


完成你的要求的sas 代码可以这样写

proc transpose data=a out=b;
by name;
var value;
run;

其中a是你原有转换前的数据集,b是转换后的数据集。需要特别说明,为了使用by statement, 需要对原有数据提前按name排序(如果原有数据的存储不是按照name排序的)

转换的结果如下:

Obs    name    _NAME_    COL1    COL2    COL3

 1      a      value      12      34       .
 2      b      value      47      68      52

二维码

扫码加我 拉你入群

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

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

2008-8-3 02:09:00
以下是引用liutaows在2008-8-3 1:46:00的发言:

假设A,B所在列的变量名为Parameter而后面的数值所在列的变量名为Value,程序如下

proc transpose data = dataname out = transdata;

var value;

id parameter;

run;

我没有测试 应该没问题

 ID statement 可能不行,帮助里关于ID statement 这样写的 Specifies a variable in the input data set whose formatted values name the transposed variables in the output data set. 而且,

Duplicate ID Values

Typically, each formatted ID value occurs only once in the input data set or, if you use a BY statement, only once within a BY group. Duplicate values cause PROC TRANSPOSE to issue a warning message and stop.

Typically, each formatted ID value occurs only once in the input data set or, if you use a BY statement, only once within a BY group. Duplicate values cause PROC TRANSPOSE to issue a warning message and stop.

[此贴子已经被作者于2008-8-3 2:10:19编辑过]

二维码

扫码加我 拉你入群

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

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

2008-8-4 23:36:00
多谢多谢~~试验成功!太感谢了  发奋学习sas!!
二维码

扫码加我 拉你入群

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

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

2008-8-5 10:08:00
跟着也学了一招,谢谢!
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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