繁体   English   中英

R/dplyr 中的循环完全连接

[英]Loop full joins in R / dplyr

我正在尝试构建一个 for 循环,它将在 dplyr 中进行一系列完全连接。

我想加快这个速度:

join1 <- full_join(Q1_output, Q2_output)
join2 <- full_join(join1, Q3_output)
join3 <- full_join(join2, Q4_output)
join4 <- full_join(join3, Q5_output)
join5 <- full_join(join4, Q6_output)
join6 <- full_join(join5, Q7_output)
join7 <- full_join(join6, Q8_output)
join8 <- full_join(join7, Q9_output)

输出文件的数量并不总是等于 9,但它们将始终采用 Qn_output 格式,其中 n 对于给定的分析系列会发生变化。

有没有办法构造一个可以做到这一点的函数? 输出文件将始终是数据框,并且将始终连接到一个公共变量上。 我也很感激关于是否可以构造一个类似的循环来获取 N 列数据帧并将其转换为 N 个向量(例如重复 Q1 <- data$Q1、Q2 <- data$Q2)的任何反馈。

谢谢!

我们可以使用mget返回list的值

lst <- mget(paste0("Q", 1:9, "_output")

然后通过执行full_join reducereduce为单个数据集

library(tidyverse)
reduce(lst, full_join, by = 'variable')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM