我想根据可以更改名称在不同版本的数据框上的列的值的子集数据框。我想要测试的值是“----”,名称是“SIC”或“NAICS”。根据条件列名称的子集数据框
版本1:
df
MSA SIC EMPFLAG EMP
1 40 ---- 43372
2 40 07-- 192
3 40 0700 192
版本2:
df
MSA NAICS EMPFLAG EMP
1 40 ---- 78945
2 40 07-- 221
3 40 0700 221
的预期结果是:
版本1:
df
MSA EMP
1 40 43372
版本2:
df
MSA EMP
1 40 78945
下面的代码不起作用:
df <- ifelse("SIC" %in% colnames(df),
df[df$SIC=="----", c("MSA", "EMP")],
df[df$NAICS=="----", c("MSA", "EMP")])
@WilliamAshford删除列仅次于我试图实现的目标。在删除它之前,我需要在列中测试一个值。 – syre
好的,这是在原文后添加的,但我会尽力修改答案以使其可行。 – Will
无视我无法在Rui Barradas的答案的简单性上做出重大贡献。 – Will