You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Stata中拆分观测值?数据集转换技术咨询

Stata专属解决方案:长格式转宽格式适配你的需求

当然有啦!Stata里处理这种从长格式到宽格式的转换,reshape命令就是专门的工具,完美匹配你要实现的效果。因为你的变量都是字符串类型,我给你梳理具体步骤:

步骤1:将Number字符串转为数值型

reshape命令要求用于拆分的分组变量(也就是你的Number)是数值型,所以先把字符串格式的Number转成数值:

destring Number, replace

如果Number里包含非数字字符,可以用destring Number, replace ignore("非数字字符")来忽略这些字符,比如ignore(",")忽略逗号。

步骤2:执行长转宽转换

reshape wide命令,以Cluster作为分组依据(i参数),Number作为列的索引(j参数),拆分Rating变量:

reshape wide Rating, i(Cluster) j(Number)

执行后,你会得到Rating_1Rating_2...这类变量,刚好对应每个Cluster下不同Number对应的Rating值。

可选:调整变量名(如果需要)

如果不想变量名带下划线,想改成Rating1Rating2这种格式,可以用rename批量修改:

rename Rating_* Rating*

特殊情况处理

如果你的Number不是数字字符串(比如是"One"、"Two"这类文本),可以先给Number编码成数值型再转换:

encode Number, gen(Number_num)
reshape wide Rating, i(Cluster) j(Number_num)

内容的提问来源于stack exchange,提问作者L. Nupt

火山引擎 最新活动