如何从一个观测值中获取数据并将其应用于组中的另一个观测值?

用户名

一对未婚夫妇与其他人一起住在一栋房子里。为了确定那对夫妇的收入,我需要将两个收入加在一起。我使用的变量充当提供的指针partners_id使用partners_ididindividual_income我如何应用合作伙伴的收入对他/她的伴侣?

这是我在下面的尝试:

summarize id, meanonly
capture gen partners_income = 0

forvalue ln = 1/`r(max)' {
    bys household (id): ///
    egen link_`ln' = total(individual_income) if partners_location==`ln')
    replace partners_income = link_`ln' if link_`ln' > 0 & id == `ln'
    drop link_*
} 
尼克·考克斯

此FAQ中有一些一般性建议

编写一种聪明的方法来完成此操作的时间可能要比使用一种快速且肮脏的方法花费的时间更长。

但是,有一种更聪明的方法。

蛮力解决方案

这里的快速意味着相对快速的编码。对于很大的数据集,这不能保证很快。

gen partners_income = . 
gen problem = 0 

合伙人的收入变量的正确初始化是缺失的,而不是零。不知道收入和收入为零是不同的条件。例如,如果某人没有伴侣,收入肯定会丢失。(如果在以后的阶段中,您想将缺失视为零,这取决于您,但是在此阶段,应使它们与众不同。)

problem变量的原因将变得显而易见。

我看不出您的原因capture

现在我们可以循环:

quietly forval i = 1/`=_N' { 
      su individual_income if id == partners_id[`i'], meanonly 
      replace partners_income = r(max) in `i' 
      if r(N) > 1 replace problem = r(N) in `i' 
}

因此,逻辑是

foreach 观察

  1. 查找合作伙伴的标识符
  2. 找到收入:summarize, meanonly
  3. 那应该是一个值,所以我们是否从summarize最大值,最小值或均值的结果中选取它并不重要
  4. 但是,如果summarize发现一个以上的值,则不符合预期(错误的标识符或多个合作伙伴);稍后我们edit if problem看一下这些观察结果。

笔记:

通过修改,将计算限制在同一个家庭中,可以使比较更加安全

if id == partners_id[`i']

if id == partners_id[`i'] & household == household[`i'] 

在一个地方,您有一个partners_location看起来像是错字的变量partners_id

可爱的解决方案

假设对方将对方命名为对方(这不是探讨例外的论坛),那么夫妻具有共同的身份,我们通过将“ John Joanna”和“ Joanna John”排序为“ Joanna John”或等价的数字来获得身份标识:

gen first = cond(id < partner_id, id, partner_id) 
gen second = cond(id < partner_id, partner_id, id) 
egen joint = concat(first second), p(" ") 

firstsecond仅仅意味着在数字或字母顺序; 这适用于数字和字符串标识符。您可能需要对诸如

if !missing(partner_id) 

现在

bysort household joint : gen partners_income = income[3 - _n] if _N == 2 

得到它?每个不同的组合household,并joint应精确右观测让我们感兴趣(因此预选赛if _N == 2)。如果是这样,则3 - _n给我们另一个伙伴的下标,就好像_n是1,然后3 - _n是2,反之亦然。by:标始终在组内应用,因此_n在每个不同的组中分别运行1、2等。

如果这看起来很神秘,请在2008年新泽西州考克斯(Cox)中详细说明。身份分离问题或如何对二元组进行分组。Stata Journal 8(4):588-591,可通过.pdf访问。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将一个观测值的变量附加到R中同一数据集中的另一个观测值

来自分类Dev

PHPExcel:如何从一行或一系列单元格中获取样式并将其应用于另一个

来自分类Dev

PHPExcel:如何从一行或一系列单元格中获取样式并将其应用于另一个

来自分类Dev

SAS:如果观测值与另一个数据集中的观测值匹配,则将其从数据集中删除

来自分类Dev

如何在R中的一个组中的最后一个观测值之后提取下一行立即并将其绑定到geather

来自分类Dev

如何在R中的一个组中的最后一个观测值之后提取下一行,并将其绑定到geather

来自分类Dev

我如何从一个表中的两个查询中获取公用值并将其与MySql中的另一个表联接?

来自分类Dev

如何对在另一个数据集的时间间隔内发生的每个ID中的一个数据集中的总观测值求和

来自分类Dev

如何从一个脚本中获取变量的值,然后将其导入另一个脚本中?

来自分类Dev

如何从数据框中的一个位置复制一个值并将其应用于列的其余部分(循环?是否适用?)?

来自分类Dev

节流/缓冲基于Reactive Extensions中另一个观测值的可观察集合

来自分类Dev

如何获得双向数据绑定值并将其设置在另一个变量中

来自分类Dev

如何获取一个变量的值并将其设置为等于类中的另一个变量?

来自分类Dev

从一个文件中查找特定值并将其替换为另一个文件的脚本

来自分类Dev

从一个文件中搜索值并将其替换为另一个文件

来自分类Dev

查找2格的高度值,相加并将其应用于另一个格的顶部位置

来自分类Dev

如何从一个目录复制SELinux上下文并将其应用于另一个目录?

来自分类Dev

如何通过另一个变量的观测值求和一个变量的唯一值?

来自分类Dev

如何复制小部件的GTK样式并将其应用于另一个?

来自分类Dev

从范围中获取特定值并将其存储在另一个范围中

来自分类Dev

如何从一个 Excel 表中获取数据并将其添加到另一个表中的匹配行?

来自分类Dev

SAS总和观测值不在一个组中,按组

来自分类Dev

从一个表中获取价值并将其用于另一张表

来自分类Dev

根据两个单元格是否具有相同的值,从一个工作表中获取数据并将其输入到另一个工作表中

来自分类Dev

如何将.map()中的值应用于Firebase中的另一个集合

来自分类Dev

如何从变量中获取数据并将其放入另一个

来自分类Dev

如何获取某个数组参数的值并将其放在另一个数组中?

来自分类Dev

Excel宏,用于从一个工作表中的特定字段复制数据,仅保留该值并将其添加到另一工作表中

来自分类Dev

如何从列表中提取索引值并将其替换在另一个特定的数据帧R中?

Related 相关文章

  1. 1

    如何将一个观测值的变量附加到R中同一数据集中的另一个观测值

  2. 2

    PHPExcel:如何从一行或一系列单元格中获取样式并将其应用于另一个

  3. 3

    PHPExcel:如何从一行或一系列单元格中获取样式并将其应用于另一个

  4. 4

    SAS:如果观测值与另一个数据集中的观测值匹配,则将其从数据集中删除

  5. 5

    如何在R中的一个组中的最后一个观测值之后提取下一行立即并将其绑定到geather

  6. 6

    如何在R中的一个组中的最后一个观测值之后提取下一行,并将其绑定到geather

  7. 7

    我如何从一个表中的两个查询中获取公用值并将其与MySql中的另一个表联接?

  8. 8

    如何对在另一个数据集的时间间隔内发生的每个ID中的一个数据集中的总观测值求和

  9. 9

    如何从一个脚本中获取变量的值,然后将其导入另一个脚本中?

  10. 10

    如何从数据框中的一个位置复制一个值并将其应用于列的其余部分(循环?是否适用?)?

  11. 11

    节流/缓冲基于Reactive Extensions中另一个观测值的可观察集合

  12. 12

    如何获得双向数据绑定值并将其设置在另一个变量中

  13. 13

    如何获取一个变量的值并将其设置为等于类中的另一个变量?

  14. 14

    从一个文件中查找特定值并将其替换为另一个文件的脚本

  15. 15

    从一个文件中搜索值并将其替换为另一个文件

  16. 16

    查找2格的高度值,相加并将其应用于另一个格的顶部位置

  17. 17

    如何从一个目录复制SELinux上下文并将其应用于另一个目录?

  18. 18

    如何通过另一个变量的观测值求和一个变量的唯一值?

  19. 19

    如何复制小部件的GTK样式并将其应用于另一个?

  20. 20

    从范围中获取特定值并将其存储在另一个范围中

  21. 21

    如何从一个 Excel 表中获取数据并将其添加到另一个表中的匹配行?

  22. 22

    SAS总和观测值不在一个组中,按组

  23. 23

    从一个表中获取价值并将其用于另一张表

  24. 24

    根据两个单元格是否具有相同的值,从一个工作表中获取数据并将其输入到另一个工作表中

  25. 25

    如何将.map()中的值应用于Firebase中的另一个集合

  26. 26

    如何从变量中获取数据并将其放入另一个

  27. 27

    如何获取某个数组参数的值并将其放在另一个数组中?

  28. 28

    Excel宏,用于从一个工作表中的特定字段复制数据,仅保留该值并将其添加到另一工作表中

  29. 29

    如何从列表中提取索引值并将其替换在另一个特定的数据帧R中?

热门标签

归档