sas - SAS-如何将列的值转换为新变量名?
问题描述
我有一个看起来像这样的数据集
ID Model_Value Count_Model
111 24 2
222 12 9
234 88 6
111 88 8
222 24 10
222 88 17
我希望它看起来像这样:
ID Model_12 Model_24 Model_88
111 0 2 8
222 9 10 17
234 0 0 6
我不认为我在网上搜索正确的术语,我认为最初转换可能有效,但我仍然希望该行代表 ID 而不是模型。谁能指出我正确的方向?我该如何从我拥有的东西中创建这个输出?
感谢您提供任何帮助!
解决方案
好的,我相信就是这样!谢谢@mjsqu !!我能够在此链接的帮助下做到这一点:http: //www.sascommunity.org/mwiki/images/d/dd/PROC_Transpose_slides.pdf
data test_transpose ;
input @1 ID_P @6 Model_Value @18 Count_Model ;
cards;
111 24 2
222 12 9
234 88 6
111 88 8
222 24 10
222 88 17
run;
proc print data=test_transpose;
run;
proc sort data=test_transpose out=test_transpose_S;
By ID_P;
run;
proc transpose
data = test_transpose_S
out = test_transpose_result (drop=_name_)
prefix=Model_Value;
var Count_Model;
BY ID_P;
id Model_Value;
run;
proc print data=test_transpose_result ;
run;
推荐阅读
- javascript - 在单个弹出页面中打开带有日期和时间的按钮单击模式?HTML 和 JavaScript
- c# - 通过带有数字证书的 WCF 使用 Web 服务
- excel - 有没有办法匹配excel中的列?没有行名
- python - Cythonclosure_freelist_size 选项
- ios - 使用 Swift 在 Xcode 中拉动 tableView 以刷新时活动指示器不旋转
- python - 为什么我的轮廓没有闭合(Python、OpenCV)?
- python - 以某种自定义方式使用 concurrent.futures 时无法打印函数的结果
- google-apps-script - 具有时间驱动重置功能的 Google 电子表格复选框为其他列增加了价值
- swift - 需要公共初始化?(编码器aDecoder:NSCoder){fatalError(“初始化(编码器:)尚未实现”)}
- dependency-injection - 为什么 MassTransit `ServiceCollectionBusConfigurator` 不通过`AddConsumer` 将`IConsumer` 添加到`DI`?