有人可以解释以下输出吗?
> "naics_new_code__c"%in%names(df)
[1] TRUE
> names(states)
[1] "application_state__c" "naics_new_code__c" "loan_id" "wa_credit_score__c"
> df= merge(df,states,by = "loan_id")
> "naics_new_code__c"%in%names(df)
[1] FALSE
> df= merge(df,states,by = "loan_id")
> "naics_new_code__c"%in%names(df)
[1] TRUE
所以,正如你所看到的,在第一次合并时,字段" naics_new_code__c"不会附加到我的df。但是,在第二次合并时,它完全是多余的。为什么会发生这种情况?
注意:这是关于r的理论问题。在这种情况下,添加一个可重复的示例不仅是多余的,而且对于有类似问题的其他人来说,查找和回答自己的答案也不那么通用和有效。
最佳,
保
答案 0 :(得分:0)
来自merge
的文档:
如果未在合并中使用的数据框中的列有任何共同点 名称,这些后缀(" .x"和" .y"默认情况下)附加到试用 使结果的名称唯一。如果这是不可能的,那么 抛出错误。
根据您之前和之后的names
结果,似乎就是这种情况。