sas - 使用来自另一个数据集的信息在 SAS 中创建网格数据
问题描述
我需要使用来自的信息获取统一网格 20x20 的数据集,SASHELP.CARS
以便按如下方式获得变量x
:y
do y = min(weight) to max(weight) by (min(weight)+max(weight))/20;
do x = min(horsepower) to max(horsepower) by (min(horsepower)+max(horsepower))/20;
output;
end;
end;
Weight
并且HorsePower
是 的变量SASHELP.CARS
。此外,网格数据集必须在每行中再有两列 EnginSizeMean LengthMean
具有相同的值,等于mean(EnginSize)
和mean(Length)
从SASHELP.CARS
(需要所有这些来构建回归模型的依赖图)。
解决方案
首先计算您需要使用的统计数据。
proc summary data=sashelp.cars ;
var weight horsepower enginesize length ;
output out=stats
min(weight horsepower)=
max(weight horsepower)=
mean(enginesize length)=
/ autoname
;
run;
然后使用这些值来生成您的“网格”。
data want;
set stats;
do y = 1 to 20 ;
weight= weight_min + (y-1)*(weight_min+weight_max)/20;
do x = 1 to 20 ;
horsepower = horsepower_min + (x-1)*(horsepower_min+horsepower_max)/20;
output;
end;
end;
run;
推荐阅读
- java - 这个 UML 类图的实现会是什么样子?
- c++ - C++:分段错误,malloc.c:没有这样的文件或目录
- ruby - RVM 移动路径 Selenium - Chromedriver
- c# - nunit 版本 3 无法测试涉及动态生成程序集的代码
- javascript - 实现表单接受链接
- c# - 获取 DataContract 名称属性
- c++ - 为什么与 EBO 无关的 VBO 中的数据也被馈送到 OpenGL?
- android - 在谷歌地图活动上实施材料搜索栏
- d3.js - 使用 d3.js 更新每次迭代
- hyperledger-fabric - 如何在超级账本作曲家中通过 txid 获取块信息?