由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - 如何将SAS DATA中的变量名改名(不知道原变量名的前提下)
相关主题
一个sas问题SAS problem ask for help!
[合集] 请教:SAS help一个简单的SAS 问题
[合集] 如何用SAS把几个colume的值连接在一起求教 SAS数据转化
一个SAS问题,合并行分享:SAS code for Overlaid Distribution curves
问SAS code怎么写A R question
SAS中如何只保留变量名中含有reading的变量啊sort two same tables SQL but different results (转载)
SAS -proc transpose 急问!SQL copy a table into a new table and add a new column (转载)
求助:data manipulation的一个问题sas proc transpose
相关话题的讨论汇总
话题: data话题: name话题: 变量名话题: test1话题: transpose
进入Statistics版参与讨论
1 (共1页)
p*****o
发帖数: 543
1
如果我有一个DATA SET A,不知道里面有多少变量,也不知道变量的名字。
请问有没有办法讲变量的名称改为:COL1,COL2,COL3,...COLN?
谢谢!!
A*******s
发帖数: 3942
2
transpose,改col1的值,再transpose回去

【在 p*****o 的大作中提到】
: 如果我有一个DATA SET A,不知道里面有多少变量,也不知道变量的名字。
: 请问有没有办法讲变量的名称改为:COL1,COL2,COL3,...COLN?
: 谢谢!!

p*****o
发帖数: 543
3
Thanks a lot!
A*******s
发帖数: 3942
4
oh, 刚发现一点小错误,transpose之后,默认的col1对应的其实是转置后的第二列,
你要改名的是第一列,默认的column name是_Name_

【在 p*****o 的大作中提到】
: Thanks a lot!
n********6
发帖数: 1511
5
array / macro loop / format?

【在 p*****o 的大作中提到】
: 如果我有一个DATA SET A,不知道里面有多少变量,也不知道变量的名字。
: 请问有没有办法讲变量的名称改为:COL1,COL2,COL3,...COLN?
: 谢谢!!

w***y
发帖数: 114
6
proc contents to check variable name
y*****t
发帖数: 1367
7
用array得先知道dataset有多少column的~

【在 n********6 的大作中提到】
: array / macro loop / format?
a***r
发帖数: 420
8
围观
只知道R怎么做,觉得好方便。。。

【在 p*****o 的大作中提到】
: 如果我有一个DATA SET A,不知道里面有多少变量,也不知道变量的名字。
: 请问有没有办法讲变量的名称改为:COL1,COL2,COL3,...COLN?
: 谢谢!!

n********6
发帖数: 1511
9
check system table and get the number of columns.

【在 y*****t 的大作中提到】
: 用array得先知道dataset有多少column的~
D******n
发帖数: 2836
10
http://www2.sas.com/proceedings/sugi28/118-28.pdf
妈的,SAS也真够麻烦的,R里面一行就搞定。

【在 n********6 的大作中提到】
: check system table and get the number of columns.
相关主题
SAS中如何只保留变量名中含有reading的变量啊SAS problem ask for help!
SAS -proc transpose 急问!一个简单的SAS 问题
求助:data manipulation的一个问题求教 SAS数据转化
进入Statistics版参与讨论
A*******s
发帖数: 3942
11
越麻烦越好,要不懂sas的怎么能找到工作,哈哈

【在 D******n 的大作中提到】
: http://www2.sas.com/proceedings/sugi28/118-28.pdf
: 妈的,SAS也真够麻烦的,R里面一行就搞定。

d*******1
发帖数: 854
12
how to do it in R? please.....

【在 a***r 的大作中提到】
: 围观
: 只知道R怎么做,觉得好方便。。。

D******n
发帖数: 2836
13
names(data)<-paste('col',1:ncol(data),sep="")

【在 d*******1 的大作中提到】
: how to do it in R? please.....
A*******s
发帖数: 3942
14
涉及变量名的改变的基本上是两种思路,一种是用transpose将变量名变成变量然后改
变,一种是用proc sql's dictionary.table读入变量名到macro variables,然后再用
proc sql或者data step改名。lz的这个问题我觉得用proc transpose更简单些。
data test;
a=1;
b=3;
c=6;
d=3;
e=8;
f=9;
run;
proc transpose data=test out=test1;
run;
data test1;
set test1;
_Name_=cats('col_',put(_N_,$10.));
run;
proc transpose data=test1 out=test2(drop=_Name_);
run;
D******n
发帖数: 2836
15
this codes simpler, but i guess not very efficient, what if the number of ob
s is very large? does it matter?

【在 A*******s 的大作中提到】
: 涉及变量名的改变的基本上是两种思路,一种是用transpose将变量名变成变量然后改
: 变,一种是用proc sql's dictionary.table读入变量名到macro variables,然后再用
: proc sql或者data step改名。lz的这个问题我觉得用proc transpose更简单些。
: data test;
: a=1;
: b=3;
: c=6;
: d=3;
: e=8;
: f=9;

d*******1
发帖数: 854
16
_Name_=cats('col_',put(_N_,$10.));
这个只适用于每个var只有一个obs的情况,最好产生个一个给var标号的numberical
variable.

【在 A*******s 的大作中提到】
: 涉及变量名的改变的基本上是两种思路,一种是用transpose将变量名变成变量然后改
: 变,一种是用proc sql's dictionary.table读入变量名到macro variables,然后再用
: proc sql或者data step改名。lz的这个问题我觉得用proc transpose更简单些。
: data test;
: a=1;
: b=3;
: c=6;
: d=3;
: e=8;
: f=9;

d*******1
发帖数: 854
17
proc sort data=test1; by _name_; run;
data test1;
set test1;
by _name_;
if first._name_ then i++;
_Name_=cats('col_',put(i,$10.));
run;
proc transpose data=test1 out=test2(drop=_Name_);
var col1;
id=_name_;
run;
另外一个问提是所有的numerical都变成char了, 如果原始的变量是 numerical和char
的混合的话, hehe

【在 A*******s 的大作中提到】
: 涉及变量名的改变的基本上是两种思路,一种是用transpose将变量名变成变量然后改
: 变,一种是用proc sql's dictionary.table读入变量名到macro variables,然后再用
: proc sql或者data step改名。lz的这个问题我觉得用proc transpose更简单些。
: data test;
: a=1;
: b=3;
: c=6;
: d=3;
: e=8;
: f=9;

A*******s
发帖数: 3942
18
对,你的答案很全面,我都没考虑你说的这两个问题。那看来通过proc sql's dictinary.table 和macro是唯一的方法了。

【在 d*******1 的大作中提到】
: proc sort data=test1; by _name_; run;
: data test1;
: set test1;
: by _name_;
: if first._name_ then i++;
: _Name_=cats('col_',put(i,$10.));
: run;
: proc transpose data=test1 out=test2(drop=_Name_);
: var col1;
: id=_name_;

A*******s
发帖数: 3942
19
确实不efficient。

ob

【在 D******n 的大作中提到】
: this codes simpler, but i guess not very efficient, what if the number of ob
: s is very large? does it matter?

1 (共1页)
进入Statistics版参与讨论
相关主题
sas proc transpose问SAS code怎么写
help for a sas questionSAS中如何只保留变量名中含有reading的变量啊
请教一个SAS问题SAS -proc transpose 急问!
sas proc report的问题。求助:data manipulation的一个问题
一个sas问题SAS problem ask for help!
[合集] 请教:SAS help一个简单的SAS 问题
[合集] 如何用SAS把几个colume的值连接在一起求教 SAS数据转化
一个SAS问题,合并行分享:SAS code for Overlaid Distribution curves
相关话题的讨论汇总
话题: data话题: name话题: 变量名话题: test1话题: transpose