R合并具有一个标识符的表,其他具有相同名称的列将相加
我目前有多个表需要合并。例如,我有tbl_1、tbl_2和tbl_3。我想以结果表的形式得出最终结果R合并具有一个标识符的表,其他具有相同名称的列将相加,r,merge,R,Merge,我目前有多个表需要合并。例如,我有tbl_1、tbl_2和tbl_3。我想以结果表的形式得出最终结果 tbl_1: ID trx_1 Cre_counts Deb_counts 1 10 9 8 2 5 6 5 3 10 4 3 tbl_2: ID trx_2 Unk_counts Deb_counts 1 10 1 2 2 5
tbl_1:
ID trx_1 Cre_counts Deb_counts
1 10 9 8
2 5 6 5
3 10 4 3
tbl_2:
ID trx_2 Unk_counts Deb_counts
1 10 1 2
2 5 6 5
3 10 3 7
tbl_3:
ID trx_3 Unk_counts Ckc_counts
1 3 4 4
2 2 4 3
3 8 7 6
result:
ID trx_1 tx_2 trx_3 Cre_counts Deb_counts Unk_counts Ckc_counts
1 10 10 3 9 10 5 4
2 5 5 2 6 10 10 3
3 10 10 8 4 10 10 6
我尝试通过“ID”合并三个表,但列名将更改为Deb_counts.x,Deb_counts.y。。。我可以使用transform()、rowSums()来采取一些额外的步骤使其工作。但我想知道有没有更简单的方法?谢谢大家! 也许不是最优雅的,但这里有一个方法: 首先,您需要将表放入列表中:
l_tbl <- mget(ls(pattern="^tbl"))
也许不是最优雅的,但这里有一个方法: 首先,您需要将表放入列表中:
l_tbl <- mget(ls(pattern="^tbl"))
你不只是想合并,你想合并一些值并添加其他值,你需要至少分两步进行,我理解这一点。目前,我采取的步骤不止两个。我将首先合并所有表,然后使用rowSums()添加所有要添加的列。然后,删除旧列。只是想知道你有没有更简单的方法?也许只有两个步骤。嗨,希望这个链接有帮助,几乎相同的问题。嗨,温。谢谢你的链接。它以前确实检查过那个网站。问题是我的行号不一样。发布的解决方案对我不起作用。但我会继续修改。我发布了一个两步的方法,虽然第二步有点长…你不只是想合并,你想合并一些值并添加其他值,你需要至少两步进行,我明白。目前,我采取的步骤不止两个。我将首先合并所有表,然后使用rowSums()添加所有要添加的列。然后,删除旧列。只是想知道你有没有更简单的方法?也许只有两个步骤。嗨,希望这个链接有帮助,几乎相同的问题。嗨,温。谢谢你的链接。它以前确实检查过那个网站。问题是我的行号不一样。发布的解决方案对我不起作用。但我会继续修改。我发布了一个两步方法,尽管第二步有点长……我在x[,colu_com]+y[,colu_com]:二进制运算符的非数值参数中出错。不知道原因。第一步是好的。我忘了提。并非每两个表都有相同的列名,所以有时,col_com将是字符(0)。这就是问题的原因吗?@verasao这不会是问题,因为我检查col_com是否至少有一个长度。我不知道你为什么会出错,除非你的公共列不全是数字。我在x[,col_com]+y[,col_com]:二进制运算符的非数字参数中出错。不知道原因。第一步是好的。我忘了提。并非每两个表都有相同的列名,所以有时,col_com将是字符(0)。这就是问题的原因吗?@verasao这不会是问题,因为我检查col_com是否至少有一个长度。我不知道你为什么会出错,除非你的公共列不全是数字