这是我的数据集
第1栏: 脂质水平
第2栏: 年龄
第3栏: 脂肪含量类别
第4栏: 性别(1 =男性)
0.73 1 1 1
0.67 1 2 1
0.15 1 3 1
0.86 2 1 1
0.67 2 2 1
0.15 2 3 1
0.94 3 1 1
0.81 3 2 1
0.26 3 3 1
0.23 4 1 2
1.40 4 1 1
1.32 4 2 1
0.15 4 3 1
1.62 5 1 1
1.41 5 2 1
0.78 5 3 1
9.78 5 1 1
以下是我使用此代码运行的一些不同分析,但我不太清楚SAS为什么不编译。
在做任何其他事情之前,我手动设置了一个永久库。
libname di ‘c:\diet’;
data di.HW3 Data;
infile hw3 data.sas;
input Lipidlevel Age Fatcontent Gender;
run;
接下来,我想根据每个年龄组的脂肪含量类别的脂质水平ODS制作情节。
ods graphics on;
proc sgplot data=newdiet;
var=Age;
scatter Age/Lipidlevel
ods graphics off;
为了更清楚地说明如何为连接3个数据点的每个Age Group创建一条线,用不同的颜色为每条线着色并用星形表示每个数据点,并在X轴下方创建一个图例并创建图表的标签? (我认为这最后一部分是自动出现的)
现在我想使用ODS生成两组不同的摘要统计数据。 a)显示每个年龄组的脂质水平的平均值,中位数,样本大小和标准差。
Proc means data=newdiet;
var Lipidlevel;
run;
b)报告每种脂肪含量类别的脂质水平的样本大小,平均值和标准差。
Proc means data=newdiet;
var Lipidlevel;
run;
最后,有人可以给我一些关于如何对数据进行分层的建议吗?我想为Age Group和Fat Content Category变量创建标签和格式。年龄组编码为1至5,对应于:15-24; 25-34; 35-44; 45-54; 55-64。脂肪含量类别编码为1至3,对应于:极低;相当低;适度低。我不知道该怎么做。我能想到的唯一方法是进入原始数据集并手动对其进行排序。
答案 0 :(得分:0)
这里有几个问题。
对情节的评论中的问题。
PROC Means - 使用class语句。你可以在1个陈述中得到你想要的东西;
proc means data=newdiet mean std median;
class age Fatcontent;
ways 1 ;
var Lipidlevel;
run;
CLASS
告诉程序如何对数据进行分组。 WAYS 1
表示单独计算。否则,它假设这是一个钻取路径。
这会产生:
Analysis Variable : Lipidlevel
N
Fatcontent Obs Mean Std Dev Median
1 7 2.2228571 3.3628892 0.9400000
2 5 0.9760000 0.3610817 0.8100000
3 5 0.2980000 0.2736238 0.1500000
Analysis Variable : Lipidlevel
N
Age Obs Mean Std Dev Median
1 3 0.5166667 0.3189566 0.6700000
2 3 0.5600000 0.3675595 0.6700000
3 3 0.6700000 0.3609709 0.8100000
4 4 0.7750000 0.6770771 0.7750000
5 4 3.3975000 4.2699444 1.5150000