我是SAS的新手,但熟悉R,MATLAB和Stata。
我在研究过程中未能找到的一件事是能够在整个数据集中处理个别观察。假设这个数据集是我正在使用的每一步:
Stock Volume1 Volume2 Volume3
Apple 200 100 101
Amazon 150 1000 1020
Facebook 135 80 85
Google 80 75 80
我将举例说明我的目标。
取段2和3的音量,我输出一个表:
Volume (Avg)
142.5
此外,我想要考虑这些细分中的几列的平均值。
Stock Volume1 Volume2 Volume3 Volume Average
Apple 200 100 101 133.67
Amazon 150 1000 1020 723.33
428.50
Facebook 135 80 85 100
Google 80 75 80 78.33
89.165
258.8325
通常,寻找允许我在数据集中为mean,sum,create tables和任何类型的数据操作等操作符工作的语法。
答案 0 :(得分:0)
你提出的问题不是很好,所以我会尝试提出一些想法然后我们可以讨论。
您可以向数据集添加行标识符:
data yourdata2;
set yourOriginalData;
rownum = _N_;
run;
然后你可以使用各种方法来计算均值:
proc sql;
create table your_summarydata as
select avg(volume) as vol_mean
from yourdata2
where rownum in (2,3);
quit;
我正在扩展你最初的想法。我不建议使用这种方法进行任何严肃的计算。在现实世界中,我会编制一些分类变量,我想要计算它的方法,然后使用类似的东西:
proc sql;
create table your_summarydata as
select groupvar, avg(volume) as vol_mean
from yourdata2
where 1=1 /* where conditions go here if you want to restrict the input dataset before calculations */
group by groupvar
quit;
答案 1 :(得分:0)
您的问题非常广泛,但以下是一些基本的相关示例:
data have;
input Stock $ Volume1 Volume2 Volume3;
cards;
Apple 200 100 101
Amazon 150 1000 1020
Facebook 135 80 85
Google 80 75 80
;
run;
data row_means;
set have;
volume_mean = mean(of volume1-volume3);
run;
proc summary data = have;
var volume1-volume3;
output out = column_means mean=;
run;
对于更高度可自定义的输出,听起来好像您可能也对proc report
或proc tabulate
感兴趣,但使用这些输出的综合指南超出了本网站的范围。