全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
5121 4
2014-04-12
求问:
在数据中同一家庭之下有受访者及其配偶两个观测值,各有一个ID。
其中一些变量信息只有受访者才有,但是我想让这些变量的值也赋予其配偶的相应变量该怎么做。
最后还需要保存受访者及其配偶中个人收入比较高的那人作为回归中的观测值又该怎样写code:
例子:
家庭ID为householdID, 受访者及其配偶的ID分别为 a和b。变量var下只有受访者a的信息,想让配偶b的变量var与a具有相同的值,最后在保留二者中个人收入income较高的那位作为最后的观测值。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2020-4-20 20:08:47
请问楼主解决了吗?现在也遇到了跟你一样的问题,请指教!!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2022-2-10 12:14:04
家庭ID相同,若一个人的家庭支出回答了,另一个为缺失值,可以生成一个新变量,把同一家庭ID的家庭支出的值求和。代码如下:
bysort householdID: egen expenditure_m = mean(expenditure)

取最大值可以用
bysort householdID: egen 新变量名 = max (旧变量名)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2023-2-4 09:44:48
恶事传千里9 发表于 2022-2-10 12:14
家庭ID相同,若一个人的家庭支出回答了,另一个为缺失值,可以生成一个新变量,把同一家庭ID的家庭支出的值 ...
如果是赋每个id的第一个值呢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2024-12-24 15:57:40
要实现你描述的数据处理过程,可以通过以下步骤进行:

### 步骤1: 确保数据格式正确

首先,确保你的数据集已经按照家庭ID (`householdID`) 进行了整理,并且受访者和其配偶的信息都在同一个数据集中。每个观测值应该包括`householdID`, `ID` (a 或 b), 以及你想要处理的变量(例如`var` 和 `income`)。

### 步骤2: 复制变量信息

使用统计软件或编程语言,比如R或者Python,你可以实现将受访者 (`a`) 的某些变量值复制给其配偶 (`b`)。这里以 R 语言为例:

```r
# 假设你的数据集叫做 my_data
my_data <- within(my_data, {
    var.b <- ifelse(ID == "b", var[match(householdID, householdID[ID == "a"])], NA)
})

# 将受访者 (a) 的变量值复制给配偶 (b),如果配偶的值尚未存在,则创建它。
my_data$var[my_data$ID == 'b'] <- my_data$var.b
```

### 步骤3: 保留收入较高者

接下来,你需要根据个人收入 (`income`) 筛选出每个家庭中收入较高的一方。这一步同样可以在 R 中实现:

```r
# 首先,删除不需要的列(如果是)
my_data <- my_data[, -which(names(my_data) == "var.b")]

# 使用 dplyr 包简化数据处理
library(dplyr)

# 选择每个家庭中收入较高的一方。
result <- my_data %>%
    group_by(householdID) %>%
    slice(which.max(income)) %>%
    ungroup()
```

这样,`result` 将会是包含每个家庭中个人收入较高的那人的数据集。这包括了受访者 (`a`) 或其配偶 (`b`) 中收入较高的一方的所有信息。

### 总结

通过上述步骤,你可以在同一家庭下的成员之间复制特定变量的值,并最终保留每个家庭中收入较高的人作为回归分析中的观测点。这种方法不仅适用于 R 语言,在 Python 或其他数据分析软件中也完全可以实现类似的功能。

此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群