由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - 请问如何把一个数据里所有的变量名后面都加个v?thanks.
相关主题
请问两道sas adv的题..怎么用SAS sort 50G的data
SAS Question求助SAS CODE:如何同时对90个variables进行log transformation?
如何强行合并两个datasets?NEED HELP: write do loop in SAS for a project
SAS help : Proc datasetSAS里怎么根据VALUE来选择需要OUTPUT的COLUMNS
SAS 求助:如何根据变量值输出变量名请教大家一个SAS使用mapped drive的问题
SAS中如何只保留变量名中含有reading的变量啊How to search all data files in a folder?
问一个简单的SAS问题,多谢请问SAS中如何将work中形成的文件拷贝出来 很多的
[SAS] number of missing values for character vars[SAS] Efficient way for subsetting data?
相关话题的讨论汇总
话题: var话题: 变量名话题: rename话题: work话题: 加个
进入Statistics版参与讨论
1 (共1页)
r**e
发帖数: 163
1
一份数据有大约100多个变量名(比如a, b, c, d, ....),想把所有的变量名后面都加个v?该
怎么做?
p********a
发帖数: 5352
2
把名字从DICTIONARY里拿出来做MACRO变量VNAME1-VNAME100
再RENAME &&VNAME&I
s******r
发帖数: 1524
3
proc sql;
select distinct compress(name||'='||name||'_v') into :M_Var_list separate by
' ' from
dictionary.columns
where libname='WORK' and memname='TEST';
%put &M_Var_list;
proc datasets lib=work;modify test;rename &M_Var_list;run;quit;
If your variable name is too long, probably you should need use %do to
rename varaible one by one.

加个v?该

【在 r**e 的大作中提到】
: 一份数据有大约100多个变量名(比如a, b, c, d, ....),想把所有的变量名后面都加个v?该
: 怎么做?

r**e
发帖数: 163
4
楼上的可否帮我编一下?从UCLA的网页上找到例子,但是有些不懂, 我照着试验
了下网页上提供的CODE,总是出错,得不出结果。多谢多谢。
注:这个不是我的作业,是老师给的活里碰到的一个问题,老师允许并鼓励我四处问人
的。
data faminc;
input famid faminc1-faminc12;
cards;
1 3281 3413 3114 2500 2700 3500 3114 -999 3514 1282 2434 2818
2 4042 3084 3108 3150 -999 3100 1531 2914 3819 4124 4274 4471
3 6015 6123 6113 -999 6100 6200 6186 6132 -999 4231 6039 6215
;
run;
%macro rename3(oldprefix, newprefix, num);
%let k=1;
%do %while(&k <= &num);
rename &oldprefix.&k = &newprefix.&k;
%let k =
r**e
发帖数: 163
5
多谢多谢,这就去试验下。

by

【在 s******r 的大作中提到】
: proc sql;
: select distinct compress(name||'='||name||'_v') into :M_Var_list separate by
: ' ' from
: dictionary.columns
: where libname='WORK' and memname='TEST';
: %put &M_Var_list;
: proc datasets lib=work;modify test;rename &M_Var_list;run;quit;
: If your variable name is too long, probably you should need use %do to
: rename varaible one by one.
:

p********a
发帖数: 5352
6
赞啊,这个更简洁

by

【在 s******r 的大作中提到】
: proc sql;
: select distinct compress(name||'='||name||'_v') into :M_Var_list separate by
: ' ' from
: dictionary.columns
: where libname='WORK' and memname='TEST';
: %put &M_Var_list;
: proc datasets lib=work;modify test;rename &M_Var_list;run;quit;
: If your variable name is too long, probably you should need use %do to
: rename varaible one by one.
:

s******r
发帖数: 1524
7
sorry. There is a typo. I put SEPARATED as separate.
proc sql;
select distinct compress(name||'='||name||'_v') into :M_Var_list SEPARATED
by ' ' from
dictionary.columns
where libname=upcase('WORK') and memname=upcase('faminc');run;quit;
proc datasets lib=work;modify test;rename &M_Var_list;run;quit;

【在 r**e 的大作中提到】
: 多谢多谢,这就去试验下。
:
: by

1 (共1页)
进入Statistics版参与讨论
相关主题
[SAS] Efficient way for subsetting data?SAS 求助:如何根据变量值输出变量名
【包子】生成RAW SAS DATASET问题SAS中如何只保留变量名中含有reading的变量啊
问个proc merge问题。问一个简单的SAS问题,多谢
SAS how to change variables' name[SAS] number of missing values for character vars
请问两道sas adv的题..怎么用SAS sort 50G的data
SAS Question求助SAS CODE:如何同时对90个variables进行log transformation?
如何强行合并两个datasets?NEED HELP: write do loop in SAS for a project
SAS help : Proc datasetSAS里怎么根据VALUE来选择需要OUTPUT的COLUMNS
相关话题的讨论汇总
话题: var话题: 变量名话题: rename话题: work话题: 加个