【发布时间】:2021-08-17 14:17:43
【问题描述】:
我正在尝试读取多个 csv。文件并将它们合并为一个。
所以我原来有:
d <- list.files(path="data/", full.names = TRUE, pattern = "\\.csv$") %>%
lapply(read_csv) %>%
bind_rows
我收到以下错误:
错误:无法组合 rt 字符和 rt 双精度。
我想这一定是因为 rt 是一个变量,有时是数字,否则为空。
我尝试使用 mutate 将 rt 更改为 double,如下所示:
d <- list.files(path="data/", full.names = TRUE, pattern = "\\.csv$") %>%
lapply(read_csv) %>%as.data.table()%>%mutate(across(rt, as.double))%>%
bind_rows
但是,当我这样做时,我遇到了一个更复杂的问题。我收到以下消息:
第 1 项有 541 行,但最长的项有 583 行;与剩余物一起回收。第 3 项有 561 行,但最长的项目有 583 行;与剩余物一起回收。第 4 项有 473 行,但最长的项目有 583 行;与剩余物一起回收。第 5 项有 575 行,但最长的项目有 583 行;与剩余部分一起回收。第 6 项有 4 行,但最长的项目有 583 行;与剩余物一起回收。mutate() 输入 ..1 的问题。
i 由强制引入的 NA
i 输入..1 是across(rt, as.double).NAs 由强制引入
似乎(根据我的理解)一个 csv 文件比另一个长,因此只有一个文件发生了突变,并且只有一个文件被绑定了。
【问题讨论】: