r - 使用循环合并和创建表

标签 r loops merge

我尝试搜索如何使用循环合并和创建多个表,但找不到我想要的内容。

我有四个表:表 1.1、1.2、1.3 和表 2。

表 1.1、1.2 和 1.3 共享相同的列,但具有不同的行。

表 2 与表 1.1、1.2 和 1.3 具有相同的第一列。

具体来说,表格如下所示。

表1.1

<表类=“s-表”> <标题> 一个 B <正文> 1 一个 2 b 3 c

表1.2

<表类=“s-表”> <标题> 一个 B <正文> 4 d 5 e 6 f

表1.3

<表类=“s-表”> <标题> 一个 B <正文> 7 克 8 小时 9 我

表2

<表类=“s-表”> <标题> 一个 C <正文> 1 x 2 y 3 Z 4 p 5 q 6 r 7 s 8 t 9 你

我想使用循环将表 1.1 与表 2 合并、表 1.2 与表 2 合并、表 1.3 与表 2 合并,以便最终得到三个不同的表。

具体来说,我想得到如下。

表1.1'

<表类=“s-表”> <标题> 一个 B C <正文> 1 一个 x 2 b y 3 c z

表1.2'

<表类=“s-表”> <标题> 一个 B C <正文> 4 d p 5 e q 6 f r

表1.3'

<表类=“s-表”> <标题> 一个 B C <正文> 7 克 s 8 小时 t 9 我 你

获得这个的最好方法是什么? 我想知道在这种情况下如何使用循环,因为我的实际数据包含表1.1到1.100和表2,我将不得不合并100次并创建100个表。

预先感谢您的所有帮助!

最佳答案

我们可以在将 'table1.1', 'table1.2', 'table1.3', ... 放入 list 中后使用 lapply (使用mget) 循环遍历 list,然后使用 base R 中的 merge 进行内部联接并返回 列表

lst1 <- mget(paste0("table1.", 1:100))
# or if there is space in the object names
# lst1 <- mget(paste0("table 1.", 1:100))
lst2 <- lapply(lst1, function(x) merge(x, table2))

关于r - 使用循环合并和创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73178170/

相关文章:

javascript - 无法在js中打印foobar只打印foo和bar

git 怪 : correct author after merge

git - 什么 git commit 实践更好?

R:错误应用于类 "c(' 整数', 'numeric' ) 的对象”

r - 拆分字符串并转置结果

ios - 遍历数组时在 iOS 中发布更新标签

php - AJAX 添加到购物车按钮不适用于自定义查询循环产品 woocommerce

mysql - 从 MySQL 执行 r 脚本

r - 在 R markdown HTML 文件中并排打印数字?

git - 在 SQUASHED 时检查 Git 分支是否已 merge 到 master 中?