我想合并这些数据框,以便以后可以通过在不同数据框的变量之间进行回归来工作。如何将所有数据框合并为一个?
library(dplyr)
library(readxl)
library("tidyverse")
library(caret)
data_p <- read_excel("C:/Users/x/Desktop/regresion.xlsx")
data_t_dic <- read_excel("C:/Users/x/Desktop/temperatura_mensual.xlsx",
sheet = "dic")
data_t_ene <- read_excel("C:/Users/x/Desktop/temperatura_mensual.xlsx",
sheet = "ene")
data_t_feb <- read_excel("C:/Users/x/desktop/temperatura_mensual.xlsx",
sheet = "feb")
df_p <- data.frame(data_p)
df_t_d <- data.frame(data_t_dic)
df_t_e <- data.frame(data_t_ene)
df_t_f <- data.frame(data_t_feb)
由于您正在使用
tidyverse/dplyr
,因此您可以利用动词union_all()
,只要每个data.frame
具有相同的结构:在基础 R 中,它也不复杂,如果我们使用
rbind()
'dplyr' 的 'bind_rows()' 函数正是这样做的。
它接受以逗号分隔的 data.frame 名称作为参数,在您的情况下它将是
一个优点(或缺点,取决于特定的用例)是即使列的顺序不同,“bind_rows()”也会产生一个连接的 data.frame,因为绑定是按名称而不是按位置完成的. 即使并非所有 df 都具有相同的列,它也会通过在没有列的 data.frames 中填充“NA”来产生输出。
另一个有趣的特性是我们可以将名称传递给它,或者直接传递一个包含 data.frames 的列表
例子:
使用略有不同的数据库为我提供了很多帮助。