duplicates - 斯塔塔。如何拆分观察?

标签 duplicates stata

我的数据集中的一些观察需要分成两个或三个不同的观察。例如以下观察:

region  income   gdp   other
North   120      450   50

我需要用 把它分成三个观察值相同的值 对于除区域外的所有变量,如下所示:
region  income   gdp   other
IL      120      450   50
MI      120      450   50
IN      120      450   50

我需要类似的东西:
if (region == "North") {
//create three new observations and delete the old one
}

用Stata可以吗?

最佳答案

很难从您的示例中解决这里的一般问题。注意

if region == "North" { 
      <code>
} 

不像你预期的那样工作,因为它相当于
if region[1] == "North" { 
      <code>
} 

并且是一次性的分支。这记录在 http://www.stata.com/support/faqs/programming/if-command-versus-if-qualifier/

这是合法的:
expand 3 if region == "North" 

但是您需要进行一一替换。

(稍后)一个疯狂的猜测是您正在关注 Stata. How to match values in 1:m relationship?并试图重新发明 merge .我只能说,对于有经验的 Stata 程序员来说,这将是一个重大项目。

(稍后)
 gen long obsid = _n 
 gen state = "" 
 gen isnorth = region == "North" 
 expand 3 if isnorth 
 bysort obsid : replace state = "IL" if isnorth & _n == 1 
 by obsid : replace state = "MI" if isnorth & _n == 2
 by obsid : replace state = "IN" if isnorth & _n == 3  

关于duplicates - 斯塔塔。如何拆分观察?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17007403/

相关文章:

python - 根据另一列中的值删除一列的重复项,Python,Pandas

Stata 13 - 在切点上建立索引时模拟置信区间时出错

python - 斯塔塔, python : Downloading files from a FTP site in Stata (or in Python)

r - 从 Stata 到 R : creating a scatterplot with vertical date lines on a subset

在 R 中复制 Stata 边距

python - 使用 pandas 格式化数据以进行生存分析

java - 打印排序字符串时去除重复项

python - 创建不同对象的列表副本

r - R 中的配对观察

python - 如何查找两个 pandas 数据框并从另一个数据框列更新第一个数据框列中的值?