我想根據可以更改名稱在不同版本的數據框上的列的值的子集數據框。我想要測試的值是「----」,名稱是「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