r - merge只有在我做两次的情况下才有效吗?

时间:2015-06-30 23:57:36

标签: r merge

有人可以解释以下输出吗?

> "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的理论问题。在这种情况下,添加一个可重复的示例不仅是多余的,而且对于有类似问题的其他人来说,查找和回答自己的答案也不那么通用和有效。

最佳,

1 个答案:

答案 0 :(得分:0)

来自merge的文档:

  

如果未在合并中使用的数据框中的列有任何共同点   名称,这些后缀(" .x"和" .y"默认情况下)附加到试用   使结果的名称唯一。如果这是不可能的,那么   抛出错误。

根据您之前和之后的names结果,似乎就是这种情况。