【发布时间】:2023-01-11 02:51:31
【问题描述】:
我正在使用个人标识符不可用的面板数据集。相反,我拥有的是跨波固定家庭的标识符(变量探索),每个家庭中个人的标识符随着波浪的变化而变化(变量北方) 和引用变量值的个人标识符北方在上一波中(变量北德普).因此,简化的数据框如下所示:
| row | Year | nquest | nord | nordp |
|---|---|---|---|---|
| 1 | 2010 | 1 | 1 | NA |
| 2 | 2012 | 1 | 1 | 1 |
| 3 | 2012 | 1 | 2 | NA |
| 4 | 2012 | 1 | 3 | NA |
| 5 | 2014 | 1 | 1 | 1 |
| 6 | 2014 | 1 | 2 | 3 |
| 7 | 2010 | 2 | 1 | NA |
| 8 | 2010 | 2 | 2 | NA |
| 9 | 2012 | 2 | 1 | 1 |
| 10 | 2012 | 2 | 2 | 2 |
| 11 | 2012 | 2 | 3 | NA |
在此示例中,第 1、2 和 5 行指的是同一个人;以及 4 和 6、7 和 9,以及 8 和 10(同样,北德普指的是北方在上一波中,而探索是固定的)。
有没有一种快速的方法可以提出一个变量来识别不同波浪中的同一个人?我已经尝试使用 for 循环创建复杂的标签并跨波提取字符,但它需要很长时间(数据集很大,但仍然很大)而且我相信有一种更简单的方法,dplyr或者其他的东西。与我在网站上找到的其他解决方案不同的是,我需要为每一次观察都这样做——所以没有指定值北方或者北德普或者探索.
谢谢!
编辑:理想情况下,我会想出一个这样的表:
| row | Year | nquest | nord | nordp | id |
|---|---|---|---|---|---|
| 1 | 2010 | 1 | 1 | NA | 1 |
| 2 | 2012 | 1 | 1 | 1 | 1 |
| 3 | 2012 | 1 | 2 | NA | 2 |
| 4 | 2012 | 1 | 3 | NA | 3 |
| 5 | 2014 | 1 | 1 | 1 | 1 |
| 6 | 2014 | 1 | 2 | 3 | 3 |
| 7 | 2010 | 2 | 1 | NA | 4 |
| 8 | 2010 | 2 | 2 | NA | 5 |
| 9 | 2012 | 2 | 1 | 1 | 4 |
| 10 | 2012 | 2 | 2 | 2 | 5 |
| 11 | 2012 | 2 | 3 | NA | 6 |
【问题讨论】:
-
嗨@akrun,理想情况下我会有一个额外的列,其值为
1, 1, 2, 3, 1, 3。它可以采用不同的形式(我在想一个字符串组合探索与第一个北方available):重要的是它让我区分不同的人。谢谢!
标签: r dataframe dataset panel panel-data