SAS中文论坛
标题:
弱弱地问一下?在线等!急!
[打印本页]
作者:
shiyiming
时间:
2010-1-6 15:05
标题:
弱弱地问一下?在线等!急!
我需要在数据集中将某每个变量的所有变量值求和,然后将求出的和输出至一个新数据集。这个怎么实现呢?
作者:
shiyiming
时间:
2010-1-6 15:32
标题:
Re: 弱弱地问一下?在线等!急!
假设你的数据集是a 有四个变量分别是var1 var2 var3 var4 要输出的数据集是b
proc means data=a sum;
var var1 var2 var3 var4;
output out=b sum(var1 var2 var3 var4 )=var1 var2 var3 var4 ;
run;
作者:
shiyiming
时间:
2010-1-7 05:31
标题:
Re: 弱弱地问一下?在线等!急!
为什么不用
data b;
set a;
sum=var1+var2+var3+var4;
run;
呢?
不好意思看错,是用sum指令的。。。
作者:
shiyiming
时间:
2010-1-7 10:16
标题:
Re: 弱弱地问一下?在线等!急!
用sql也可以吧
Proc sql;
create newdataset as
select *,
SUM(var1) as sum1,
sum(var2) as sum2
from original_data
run;
quit;
作者:
shiyiming
时间:
2010-1-7 20:42
标题:
Re: 弱弱地问一下?在线等!急!
[quote="smile515":1g9qcak9]我需要在数据集中将某每个变量的所有变量值求和,然后将求出的和输出至一个新数据集。这个怎么实现呢?[/quote:1g9qcak9]
将这个问题更深入一下,如果该数据集有20例,但是只想分别求出各变量var1-var4前10例的变量值的和,该怎么实现呢?
作者:
shiyiming
时间:
2010-1-8 10:57
标题:
Re: 弱弱地问一下?在线等!急!
那就取前10个就好了啊 笨方法 if _n_>10 then delete 呵呵
作者:
shiyiming
时间:
2010-1-8 13:10
标题:
Re: 弱弱地问一下?在线等!急!
to bluesunse
不是这个意思,是前10个和后10个都要分别计算的~~
作者:
shiyiming
时间:
2010-1-8 16:52
标题:
Re: 弱弱地问一下?在线等!急!
to smile515
前10行后10行?就按照blue说的,你先拆分开两个数据集,求完了再合并呗。
欢迎光临 SAS中文论坛 (https://mysas.net/forum/)
Powered by Discuz! X3.2