【问题标题】:How to load several excel files in R?如何在R中加载几个excel文件?
【发布时间】:2021-12-13 19:34:02
【问题描述】:

我有大约 50 个 excel 文件,它们都有相同的列名。我想将它们组合成一个数据框。这是我正在使用的代码:

dir("data", full.names = T) %>% map_dfr(read_excel)

excel 文件存储在名为 data 的文件夹中。但是,我收到以下错误:

错误:无法组合 ..1$Biaoti..26$Biaoti

如何强制列具有相同的类型? Biaoti 列在所有 excel 文件中只包含 0 或 1。

【问题讨论】:

标签: r excel dplyr tidyverse purrr


【解决方案1】:

也许这个功能可以帮到你!

    read_my_data <- function() {
  
  if (!require(data.table)) {install.packages("data.table")}
  
  temp <- list.files(pattern = "*.xls")
  dados <- NULL
  
  for(1 in length(temp)) {
    
    df <- fread(temp[[i]], colClasses = c(Biaoti = "factor"))
    
    dados <- rbind(dados, df)
    
  }
  
  return(dados)
  
}

read_my_data()

但是你必须先设置你的工作目录。这个工作目录必须有他们的excel数据。

这个函数读取*.xls文件,如果你的文件是*.xlsx你必须改变这个函数。

【讨论】:

    【解决方案2】:

    你可以这样做:

    library(dplyr)
    library(purrr)
    library(tydiverse)
    library(readxl)
    
    
    #Indicates the path of the folder where these xlsx are located
    setwd('c:/.../folder')
    
    #load files
    file.list <- list.files(pattern='*.xlsx')
    
    #creat the list files
    df.list <- lapply(file.list, read_excel)
    
    #makes the union of all in a dataframe
    df_final<-purrr::reduce(df.list, rbind)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-14
      • 1970-01-01
      • 2021-07-09
      • 1970-01-01
      • 1970-01-01
      • 2020-10-17
      • 2017-10-07
      相关资源
      最近更新 更多