r - 基于多行值消除案例
问题描述
我有一个包含以下信息的基础:
编辑: *每一行是一个住在房子里的人,具有唯一 P_ID 和 AGE 的多个人可以住在具有相同 H_ID 的同一所房子里,我正在根据条件寻找所有个人的所有房子那所房子里至少有一个60岁以上的人,我希望能更好地解释它*
show(base)
H_ID P_ID AGE CONACT
1 10010000001 1001000000102 35 33
2 10010000001 1001000000103 12 31
3 10010000001 1001000000104 5 NA
4 10010000001 1001000000101 37 10
5 10010000002 1001000000206 5 NA
6 10010000002 1001000000205 10 NA
7 10010000002 1001000000204 18 31
8 10010000002 1001000000207 3 NA
9 10010000002 1001000000203 24 35
10 10010000002 1001000000202 43 33
11 10010000002 1001000000201 47 10
12 10010000003 1001000000302 26 33
13 10010000003 1001000000301 29 10
14 10010000004 1001000000401 56 32
15 10010000004 1001000000403 22 31
16 10010000004 1001000000402 49 10
17 10010000005 1001000000503 1 NA
18 10010000005 1001000000501 24 10
19 10010000005 1001000000502 23 10
20 10010000006 1001000000601 44 10
21 10010000007 1001000000701 69 32
我想要一份包含所有房屋和居住在那里的所有个人的列表,条件是至少有一个 60 岁以上的人,这是数据的链接:https://drive.google.com/drive/folders/1Od8zlOE3U3DO0YRGnBadFz804OUDnuQZ? usp=分享
以下是我制作基础的方法:
hogares<-read.csv("/home/servicio/Escritorio/TR_VIVIENDA01.CSV")
personas<-read.csv("/home/servicio/Escritorio/TR_PERSONA01.CSV")
datos<-merge(hogares,personas)
base<-data.frame(datos$ID_VIV, datos$ID_PERSONA, datos$EDAD, datos$CONACT)
base
非常感谢任何帮助,谢谢!
解决方案
这可以通过以下方式完成:
添加每个家庭的最大年龄变量
base$maxage <- ave(base$AGE, base$H_ID, FUN=max)
然后只保留最高年龄在 60 岁以上的家庭。
base <- subset(base, maxage >= 60)
或者您可以将两条线合二为一。使用链接数据中的列名:
> base <- subset(base, ave(base$datos.EDAD, base$datos.ID_VIV, FUN=max) >= 60)
> head(base)
datos.ID_VIV datos.ID_PERSONA datos.EDAD datos.CONACT
21 10010000007 1001000000701 69 32
22 10010000008 1001000000803 83 33
23 10010000008 1001000000802 47 33
24 10010000008 1001000000801 47 10
36 10010000012 1001000001204 4 NA
37 10010000012 1001000001203 2 NA
推荐阅读
- r - 在 R 合并函数中复制行
- gdb - Gnat Programming Studio:与 GPS 2018 并行安装 gdb 版本 8.0.1 以签署 gdb 代码。经验?
- android - 检查 Android 的 Firebase DB 中是否存在数据
- c# - 如何制作隐形链接?
- forms - jsp中具有共享值的多个表单?
- angular - 角度搜索过滤器
- c++ - 为什么我不能将 && 添加到 Ret (Args...) &?
- php - 可以让 PHP 了解 Apache 别名吗?
- bash - 如何制作可管道化的 bash 脚本
- ios - Tableviewcells actions xcode