SAS:将窄数据集转换为宽数据集

木瓜自动机

我正在从SAS Programming 2教科书中进行练习。

我正在尝试转换此数据:

窄数据集像这样的宽数据集:

宽数据集我还应该在我的数据步骤中有一个数组,并且只输出变量customer_id和month1到month12。

我的代码如下:

Data customer_orders(keep=Customer_ID month1-month12);
set orion.order_summary;
by customer_id;
array month{12}  month1-month12; 
do i= 1 to 12;
if order_month = i then     
month{i}= sale_amt;
end;

run;

proc print data=customer_orders;
run;

当我运行此代码时,我的问题是观察值未在一个观察值中显示customer_id的所有sale_amt值,而是跳至下一行以显示在观察值中找到的第二个值。

任何帮助将不胜感激。

注意:不允许将其他链接发布到输出的外观。

安德鲁·海恩斯(Andrew Haynes)

如前所述,由于SAS在处理步骤中将值重置为丢失,因此您需要设置一条keep语句将您的值传递到下一行。然后,Last.cust_id仅接受每个客户ID的最后一行,并且该行应包含您对该客户的所有观察结果。

但是,此后将保留它们的所有值,直到另行指定为止。因此,使用first.cust_id可以将每个新客户ID的所有值都设置为missing。

data test;

input Cust_id Month Sale_Amt;
Datalines;
 5 5 478
 5 6 126.8
 5 9 52.50
 5 12 33.8
 10 3 32.60
 10 1 200
 ;

run;

proc sort data = test out = test_sort;
  by cust_id month;
run;


data test2 ( drop  = month sale_amt i );

  set test_sort;
  by cust_id;

  array holder (*) Month1-Month12;

  retain Month1-Month12;

  do i = 1 to 12;
    if first.cust_id then holder{i} = .;
    if month = i     then holder{i} = sale_amt;
  end;

  if last.cust_id;

run;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用substr在SAS中将宽数据转换为窄数据

来自分类Dev

将大型SAS数据集转换为hdf5

来自分类Dev

将大型SAS数据集转换为hdf5

来自分类Dev

按列将SAS数据集转换为相对频率

来自分类Dev

在 SAS 中将宽数据集更改为长数据集

来自分类Dev

将数据集列转换为obsnames

来自分类Dev

将数据集转换为汇总值

来自分类Dev

将数据集转换为值矩阵

来自分类Dev

将数据集转换为整数

来自分类Dev

将数据集列转换为obsnames

来自分类Dev

将 xy 数据集转换为数组

来自分类Dev

如何使用UTF8编码将sas数据集导出或转换为.txt文件?

来自分类Dev

将 2 个 sas 数据集转换为 2 个矩阵以执行除法和乘以千

来自分类Dev

将 SAS 中的数据集转换为单向方差分析

来自分类Dev

将double转换为数据集,同时转换为数据集-为什么?

来自分类Dev

无法将 json 转换为数据集、数据表

来自分类Dev

将数组的数据集转换为数据帧

来自分类Dev

将数据集从“宽”格式转换为“长”格式,并将时间列转换为时间格式以进行时间序列分析

来自分类Dev

创建简单的代码以将我的数据集从R转换为宽到长

来自分类Dev

当数据集很大时,如何在Stata中将宽型转换为长型

来自分类Dev

创建简单的代码以将我的数据集从R转换为宽到长

来自分类Dev

SAS:将二进制压缩的数据集转换为使用 char 压缩的数据集的最快方法是什么,反之亦然?

来自分类Dev

将大型SAS数据集拆分为较小的数据集

来自分类Dev

将Shapefile,要素类或网络数据集转换为R

来自分类Dev

将大型数据集转换为精简对象

来自分类Dev

如何将numpy数组转换为图像数据集?

来自分类Dev

如何将Spark数据集转换为Scala Seq

来自分类Dev

如何将图像数据集转换为张量?

来自分类Dev

PyTorch-将CIFAR数据集转换为`TensorDataset`

Related 相关文章

  1. 1

    使用substr在SAS中将宽数据转换为窄数据

  2. 2

    将大型SAS数据集转换为hdf5

  3. 3

    将大型SAS数据集转换为hdf5

  4. 4

    按列将SAS数据集转换为相对频率

  5. 5

    在 SAS 中将宽数据集更改为长数据集

  6. 6

    将数据集列转换为obsnames

  7. 7

    将数据集转换为汇总值

  8. 8

    将数据集转换为值矩阵

  9. 9

    将数据集转换为整数

  10. 10

    将数据集列转换为obsnames

  11. 11

    将 xy 数据集转换为数组

  12. 12

    如何使用UTF8编码将sas数据集导出或转换为.txt文件?

  13. 13

    将 2 个 sas 数据集转换为 2 个矩阵以执行除法和乘以千

  14. 14

    将 SAS 中的数据集转换为单向方差分析

  15. 15

    将double转换为数据集,同时转换为数据集-为什么?

  16. 16

    无法将 json 转换为数据集、数据表

  17. 17

    将数组的数据集转换为数据帧

  18. 18

    将数据集从“宽”格式转换为“长”格式,并将时间列转换为时间格式以进行时间序列分析

  19. 19

    创建简单的代码以将我的数据集从R转换为宽到长

  20. 20

    当数据集很大时,如何在Stata中将宽型转换为长型

  21. 21

    创建简单的代码以将我的数据集从R转换为宽到长

  22. 22

    SAS:将二进制压缩的数据集转换为使用 char 压缩的数据集的最快方法是什么,反之亦然?

  23. 23

    将大型SAS数据集拆分为较小的数据集

  24. 24

    将Shapefile,要素类或网络数据集转换为R

  25. 25

    将大型数据集转换为精简对象

  26. 26

    如何将numpy数组转换为图像数据集?

  27. 27

    如何将Spark数据集转换为Scala Seq

  28. 28

    如何将图像数据集转换为张量?

  29. 29

    PyTorch-将CIFAR数据集转换为`TensorDataset`

热门标签

归档