gpt4 book ai didi

r - mutate_impl(.data, 点) : binding not found 中的错误

转载 作者:行者123 更新时间:2023-12-03 07:13:26 24 4
gpt4 key购买 nike

我想将多个文件合并为一个文件。我从网站上的一篇文章中找到了代码,并将其改编为我自己的使用,如下所示:

library(dplyr)
library(readr)

df2 <- list.files(pattern = "test_.*\\.csv",full.names = TRUE) %>%
lapply(read_csv) %>%
bind_rows %>%
transmute(Isolate=Iso,
Condit=Condit,
rep=rep,
set=set,
hpi=hpi,
OD=OD)

但我收到此错误:

Error in mutate_impl(.data, dots) : binding not found: 'Iso'

我不明白为什么。有人可以帮助我吗?

非常感谢!

输入文件1:test_.1.csv

    Iso rep set Condit  hpi OD
1 A22.1 1 3 T27 84 0.232
2 A22.1 2 3 T27 84 0.23
3 A22.1 3 3 T27 84 0.214
4 D2.1 1 3 T27 84 0.049
5 D2.1 2 3 T27 84 0.054
6 D2.1 3 3 T27 84 0.049

输入文件2:test_.2.csv

    Iso rep set Condit  hpi OD
1 A22.1 1 3 T27 72 0.191
2 A22.1 2 3 T27 72 0.186
3 A22.1 3 3 T27 72 0.179
4 D2.1 1 3 T27 72 0.048
5 D2.1 2 3 T27 72 0.053

最佳答案

我运行了您的代码并收到了相同的错误消息

Error: binding not found: 'Iso'

原因似乎是来自 readr 包的 read_csv。当用于读取单个文件时,

read_csv("test_.1.csv")

返回:

Parsed with column specification:
cols(
`Iso rep set Condit hpi OD` = col_character()
)
# A tibble: 6 × 1
`Iso rep set Condit hpi OD`
<chr>
1 A22.1 1 3 T27 84 0.232
2 A22.1 2 3 T27 84 0.23
3 A22.1 3 3 T27 84 0.214
4 D2.1 1 3 T27 84 0.049
5 D2.1 2 3 T27 84 0.054
6 D2.1 3 3 T27 84 0.049

因此,read_csv 显然不知道如何将行拆分为列。

<小时/>

下面使用 data.table 包中的 fread()rbindlist() 的代码对我有用。它根据 OP 的请求更改了 Iso 列的名称。此外,它还添加了一列来指示每行的来源。

file_names <- list.files(pattern = "test_.*\\.csv", full.names = TRUE)
library(data.table)
df2 <-
rbindlist(
lapply(file_names, fread), idcol = "file_id"
)[, file_id := basename(file_names)[file_id] # add origin
][, setnames(.SD, "Iso", "Isolate")] # rename one column

df2
# file_id Isolate rep set Condit hpi OD
# 1: test_.1.csv A22.1 1 3 T27 84 0.232
# 2: test_.1.csv A22.1 2 3 T27 84 0.230
# 3: test_.1.csv A22.1 3 3 T27 84 0.214
# 4: test_.1.csv D2.1 1 3 T27 84 0.049
# 5: test_.1.csv D2.1 2 3 T27 84 0.054
# 6: test_.1.csv D2.1 3 3 T27 84 0.049
# 7: test_.2.csv A22.1 1 3 T27 72 0.191
# 8: test_.2.csv A22.1 2 3 T27 72 0.186
# 9: test_.2.csv A22.1 3 3 T27 72 0.179
#10: test_.2.csv D2.1 1 3 T27 72 0.048
#11: test_.2.csv D2.1 2 3 T27 72 0.053

关于r - mutate_impl(.data, 点) : binding not found 中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43818126/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com