在 SAS 上使用 sgplot 和 ODS 绘图
Plotting with sgplot and ODS on SAS
这是我的数据集
第 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 个数据点的每个年龄组制作一条线,为每条线涂上不同的颜色并用星号表示每个数据点,并在 X 轴下方制作图例并为图形创建标签? (我以为这最后一部分是自动出现的)
现在我想使用 ODS 生成两组不同的汇总统计数据。 a) 显示每个年龄组的脂质水平的平均值、中值、样本大小和标准差。
Proc means data=newdiet;
var Lipidlevel;
run;
b) 报告每个脂肪含量类别的样本量、脂质水平的平均值和标准偏差。
Proc means data=newdiet;
var Lipidlevel;
run;
最后,谁能给我一些关于数据分层的建议,如下所示?我想为年龄组和脂肪含量类别变量创建标签和格式。年龄组编码为 1 至 5,对应于:15-24 岁; 25-34; 35-44; 45-54; 55-64。脂肪含量类别编码为 1 至 3,对应于:极低;相当低;中等偏低。我不知道该怎么做。我能想到的唯一方法是进入原始数据集并手动将它们分类。
这里有几个问题。
剧情评论中的问题
PROC 表示——使用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
这是我的数据集
第 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 个数据点的每个年龄组制作一条线,为每条线涂上不同的颜色并用星号表示每个数据点,并在 X 轴下方制作图例并为图形创建标签? (我以为这最后一部分是自动出现的)
现在我想使用 ODS 生成两组不同的汇总统计数据。 a) 显示每个年龄组的脂质水平的平均值、中值、样本大小和标准差。
Proc means data=newdiet;
var Lipidlevel;
run;
b) 报告每个脂肪含量类别的样本量、脂质水平的平均值和标准偏差。
Proc means data=newdiet;
var Lipidlevel;
run;
最后,谁能给我一些关于数据分层的建议,如下所示?我想为年龄组和脂肪含量类别变量创建标签和格式。年龄组编码为 1 至 5,对应于:15-24 岁; 25-34; 35-44; 45-54; 55-64。脂肪含量类别编码为 1 至 3,对应于:极低;相当低;中等偏低。我不知道该怎么做。我能想到的唯一方法是进入原始数据集并手动将它们分类。
这里有几个问题。
剧情评论中的问题
PROC 表示——使用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