数据、字符R处理

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

2015-02-04  本文已影响8164人  siloes

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

上一篇 下一篇

猜你喜欢

热点阅读