有一次,把前一张表的行名(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.