【发布时间】:2020-02-25 10:05:03
【问题描述】:
我有以下数据集(示例)
idnumber=c(12,12,13,14,14,15,16,17,18,18)
reg = c('FR','FR','DE','US','US','TZ','MK','GR','ES','ES')
code1=c('F56','G76','G56','T78','G78','G76','G64','T65','G79','G56')
code2=c('G56','I89','J83','S46','D78','G56','H89','G56','W34','T89')
df = data.frame(idnumber,reg,code1,code2)
给出:
idnumber reg code1 code2
1 12 FR F56 G56
2 12 FR G76 I89
3 13 DE G56 J83
4 14 US T78 S46
5 14 US G78 D78
6 15 TZ G76 G56
7 16 MK G64 H89
8 17 GR T65 G56
9 18 ES G79 W34
10 18 ES G56 T89
我想对df 进行子集化,只保留值G56 出现在code1 或code 2 列中的原始值,但如果id 值与匹配的相同id 值则保留原始idnumber值G56 如:
idnumber reg code1 code2
1 12 FR F56 G56
2 12 FR G76 I89
3 13 DE G56 J83
6 15 TZ G76 G56
8 17 GR T65 G56
9 18 ES G79 W34
10 18 ES G56 T89
我有数百万个观察结果和大约 30 个code 列。
希望问题足够清楚,欢迎任何建议!
干杯
【问题讨论】: