美文网首页数据、字符R处理
R语言经验:merge函数合并的两张表必须都有可以显式指定的匹配

R语言经验:merge函数合并的两张表必须都有可以显式指定的匹配

作者: siloes | 来源:发表于2015-02-04 14:28 被阅读8164次

    有一次,把前一张表的行名(row.name)设为匹配行,包括by.x=rownames(xx),或者是by.x=names(xx)(代码如下):

    table.section <- merge(table.section, tableFinancial, 
                           by.x=rownames(table.section), by.y="名称", all.x=FALSE)
    

    table.section <- merge(table.section, tableFinancial, 
                           by.x=names(table.section),, by.y="名称", all.x=FALSE)
    

    怎么设置都无法合并,总是报错。

    最后把行名提取出来,再加到第一张表里作为一列才匹配成功。

    table.section <- cbind(rownames(table.section), table.section)
    table.section <- merge(table.section, tableFinancial, 
                           by.x="V1", by.y="营业部名称", all.x=FALSE)
    

    匹配成功生成的新表当中,原有的行名全部被清除,第一张表的数据保留,加上第二张表除了匹配行之外的数据。

    当merge里的参数all.x=TRUE时,两张表匹配不上的数据也保留在新表,但当all.x=FALSE时,两张表匹配不上的数据不出现在新表当中。merge得到的是一个data.frame.

    相关文章

      网友评论

        本文标题:R语言经验:merge函数合并的两张表必须都有可以显式指定的匹配

        本文链接:https://www.haomeiwen.com/subject/usyrxttx.html