有没有一种方法可以查找文件而无需在R中将数字转换为字符?

时间:2019-11-18 14:08:53

标签: r type-conversion bind rbind

我正在尝试使用以下代码将.xlsx格式的80多个excel文件读取并合并到一个数据库中:

library(readxl)
library(purr)
library(dplyr)
library(tidyverse)

file.list <- list.files(pattern='*.xlsx')
alldata <- file.list %>%
map_dfr(read_excel) %>%
reduce(bind_rows)

我遇到的问题是Error: Column 'Cage' can't be converted from numeric to character出现了。当我在其他列上遇到此问题时,我只需要从列中删除所有意外的非数字字符即可。但是,我无法对此列进行此操作,因为我需要这些列有时包含正斜杠。有人可以帮助我避免这个问题吗?

注意:无论我使用reduce(rbind_list)reduce(rbind.fill)还是reduce(rbind)

,都会出现此错误

1 个答案:

答案 0 :(得分:0)

library(readxl)
library(tidyverse)

alldata <- file.list %>%
     map_dfr(~read_excel(.x) %>% 
                mutate_all(as.character))

猜猜您可能已完成此操作,但可以看到此问题困扰其他人。您可以通过添加%>% mutate_all(as.character)来标准化read_excel函数中的每一列来解决此问题。