使用SAS更改列和行

时间:2017-07-18 18:28:37

标签: sas

我的数据集是: Dim ar ar = Sheet1.Evaluate("A1:C3 + E1:G3 + I1:K3")

我需要这样做: |ID | SNP | GEN | |:--:|:---:|:---:| |1 | A | AG | |2 | A | GG | |3 | A | AG | |4 | A | AG |

我尝试使用以下命令,但它不起作用:

|SNP | ID1 | ID2 | ID3 | ID4 | |:---|:---:|:---:|:---:|:---:| |A | AG | GG | AG | AG |

有人知道如何使用SAS进行此操作吗?

1 个答案:

答案 0 :(得分:1)

您只需要为PROC TRANPOSE调用添加更多选项,即可让它按照您的意愿行事。

proc transpose data=data1 out=WANT prefix=ID ;
  by SNP;
  id ID;
  var GEN;
run;

BY语句将处理SNP的每个值作为单独的转置集。如果值比示例中的值多,请确保按SNP对数据进行排序。 ID语句告诉它用于生成新变量名的变量。 VAR语句告诉它要转置哪个变量,要转置字符变量,必须使用VAR语句。 PREFIX =选项允许您指定要用作生成的变量名称的前缀的字符。