首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理纵向数据,合并2列转置为宽

处理纵向数据,合并2列转置为宽
EN

Stack Overflow用户
提问于 2015-09-27 23:48:21
回答 1查看 44关注 0票数 0

我需要处理纵向数据,以便能够在逻辑回归中使用。

目前数据为:

代码语言:javascript
复制
ID  Period Smoke
1     1      1
1     2      1
1     3      1
2     1      0
2     2      1
2     3      1 
3     1      1
3     2      1
3     3      0

但是我需要把它处理成这样的形式:

代码语言:javascript
复制
ID    Period1Smoke   Period2Smoke    Period3Smoke
1           1              1              1
2           0              1              1
3           1              0              0

因此,本质上,我需要以某种方式组合句点和烟雾,然后通过ID转置为宽格式。(我还需要在几个var & ~5,000个人之间执行此操作。)

有什么建议吗?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2016-03-19 01:30:51

在proc转置中,ID在BY语句中指定我们只需要在输出数据集中为每个不同的ID值创建一个观察值。ID语句中的Period在ID语句中指示将在输出数据集中为每个不同的周期值创建新变量。转置的变量(Smoke)在VAR语句中指定。使用prefix=和suffix=选项来控制新变量的命名方式。

有关proc转置语法的介绍,请参阅此this文章。

代码语言:javascript
复制
proc transpose data=have out=want (drop=_name_) prefix=Period suffix=Smoke;
    by ID;
    id Period;
    var Smoke;
run;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32809787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档