由买买提看人间百态

topics

全部话题 - 话题: newvar
(共0页)
a********a
发帖数: 3176
1
I think I figured out one way to get the new list:
%Do I = 1 %to &NVar;
%let k=1;
%do %while (%Quote(%Scan(&&Var_&I, &K, %Str( ))) ^= );
%let newvar = %Quote(%Scan(&&Var_&I, &K, %Str( ))) ;
proc means data=&data noprint;
var &newvar;;
where taapart=1;
output out=&newvar min=min max=max;
run;
data &newvar;
length VARNAME $ 20.;
set &newvar;
VARNAME="&newvar";
proc append base=newvar data=&newvar force;
run;
%let k = %eval(&k + 1);
%let newvar = %scan(&&Var_&I,
R*********i
发帖数: 7643
2
来自主题: Statistics版 - 菜鸟问题 (R & SAS)
A not-so-straightforward but working solution in SAS:
data test;
mystr='abcdef ghijklnopaijeiajig aeioajgeojgajipa aweg rrr eagaggeagg
awgae gawegwgaaag aewh aawgah';
newstr=compress(mystr);
l=length(newstr);
output;
run;
proc sql;
select left(put(ceil(l/10),4.)) into :len from test;
quit;
data test2;
length newvar1 - newvar&len $10;
set test;
array newvar [*] $ newvar1 - newvar&len;
do i=1 to dim(newvar);
newvar[i]=substr(newstr,1+10*(i-1),10);
end;
drop i newstr;
run... 阅读全帖
t**s
发帖数: 156
3
如果知道有多少variable需要转换,也可以用下面的方法.
假定有100个variable
Data test1;
Set test;
Array allchar(*) _char_;
Array newvar(*) newvar1 - newvar100;
Do i=1 to dim(allchar);
newvar(i)=Input(allchar(i), best.);
End;
Run;
如果不知道, 先找出来
proc sql noprint;
select count(*) into:cnt from sashelp.vcolumn
where libname="WORK" and upcase(memname)="TEST" and upcase(type=)"CHAR";
quit;
Data test1;
Set test;
Array allchar(*) _char_;
Array newvar(*) newvar1 - newvar&cnt;
... 阅读全帖
n**********e
发帖数: 1
4
来自主题: Database版 - 遇到sql 的日期型字段不会使用
使用asp 和foxpro 相结合对数据库进行管理,源程序如下


欢迎使用


<%
set cn=Server.CreateObject("ADODB.Connection")
cn.open "tt_vfp"
sqlquery="select * from ttp where 工序号='TC15'"
set rs=cn.execute(sqlquery)
'rs.movefirst
%>

<%i=1%>
<%do while not rs.eof%>






<%newvar=rs.fields("日期")%>

<%
i=i+1
r
<%=i%> <%=rs.fields("工作单")%> <%=rs.fields("工序号")%> <%=rs.fields("录入人")%> <%=rs.fields("日期")-3%> <%=newvar%>
e*******e
发帖数: 75
5
来自主题: Statistics版 - SAS question(ergent)
Hi,
I have a SAS question as follows:
I have a data set A with variable var1-var50;
and I need to create a new variable newvar=1 if all the var1-var50 equal to
missing.
How can I create the newvar? Thanks,
k*******a
发帖数: 772
6
来自主题: Statistics版 - 请问如果用SAS 解决这个问题
你可以用array,也可以用proc transpose
如果用transpose你可以:
data b;
set a;
ID=_N_;
run;
proc transpose data=b out=c;
var var1-var4;
by ID;
run;
proc sort data=c;
by ID descending col1;
run;
data d(keep=newvar);
set c;
by ID descending col1;
if first.ID;
newvar=_name_;
run;
A*********u
发帖数: 8976
7
来自主题: Statistics版 - SAS一问
data b;
set a;
newvar=_n_;
run;

我的data有100行,N列,想加一个column,值是1到100,用什么加呢?
我用了很土的方法,转成excel加然后再转回sas dataset, 用sas直接加怎么弄呢?谢谢
t**i
发帖数: 688
8
来自主题: Statistics版 - 请教:sas 循环
In the SAS dataset, create a new variable with values 1, 2, ..., 5,
respectively.
Then
Proc nlmixed ...... ;
by newvar;
...
x**m
发帖数: 941
9
proc sql;
create table new as
select year, hospital,
case
when count(distinct N)>1 then 1
else 0
end as newvar
from old
group by year, hospital;
quit;
p********a
发帖数: 5352
10
Newvar=_N_;
w****a
发帖数: 114
11
来自主题: Statistics版 - SAS question(ergent)
if n(of var1-var50)=0 then newvar=1;

to
x*******u
发帖数: 500
12
来自主题: Statistics版 - 请问如果用SAS 解决这个问题
my data:
var1 var2 var3 var4
2 4 6 7
4 9 7 6
5 2 1 1
如何得到一个新的variable, 它的值是var1-var4中有最大值的那个variable的名字。
结果应该是
newvar
var4
var2
var1
谢谢
l*****o
发帖数: 61
13
请问如何用SAS 做到如下:我有一组数据有3个变量,company, year, product. 一共
有4个company (a, b, c, d), 每个company有4年,每个company每年都有好多product
但是编号混乱。我想生成另外一个变量,每个产品都有编号(从1到n, n为第n个产品)
。相同的农场不同的年编号一样,但是不同的农场即使产品相同也不给相同的编号,而
是继续向下数数。比如:
company year product newvar
a 1 5 1
a 1 8 2
a 1 9 3
a 1 13 4
a 2 ... 阅读全帖
G********L
发帖数: 12
14
可能要这样才能满足楼主的要求。
proc sort data=one;
by company year product;
run;
data two (drop=count temp1 temp2);
set one;
by year notsorted;
retain count temp1 temp2;
if _n_=1 then do;
temp2=0;
temp1=company;
end;
if temp1 NE company and first.year then temp2=count;
if first.year then count=0;

count+1;
newvar=temp2+count;
temp1=company;
run;
l*****o
发帖数: 61
15
非常非常感谢!可以了。
还有一个问题:如果有一些product在某些年没有,而每年又都有新的products加入,
所以需要确保相同的product在不同的年有相同的编号(newvar),怎么办呢?
s******8
发帖数: 102
16
来自主题: Statistics版 - 请教一个简单SAS问题
data outds;
set yourds;
array v(5) var1-var5;
do I=1 to 5;
newvar=var(I);
output;
end;
drop var1-var5 I;
run;
l****u
发帖数: 529
17
来自主题: Statistics版 - 问一个sas编程题
proc sql;
create table new as
select distinct b.*,sum(a.days) as newvar
from old an right join old b
on a.id=b.id and b.date-28 group by b.id, b.date;
quit;
(共0页)