如何正确构建一个 lapply 来读取(从一个目录中)所有 .csv 文件,将所有列加载为字符串,然后将它们绑定到一个数据框中。
根据这个,我有一种方法可以将所有 .csv 文件加载并绑定到数据框中。不幸的是,他们对列的类型转换方式的可变性感到困惑。因此给了我这个错误:
错误:无法自动将列中的字符转换为整数
我尝试用数据类型的参数来补充代码,并试图将所有内容都保留为字符;我现在被困在能够正确地让我的 lapply“循环”有效地引用其“循环”的每个循环的主题上。
srvy1 <- structure(list(RESPONSE_ID = 584580L, QUESTION_ID = 328L, SURVEY_ID = 2324L,
AFF_ID_INV_RESP = 5L), .Names = c("RESPONSE_ID", "QUESTION_ID",
"SURVEY_ID", "AFF_ID_INV_RESP"), class = "data.frame", row.names = c(NA,
-1L))
srvy2 <- structure(list(RESPONSE_ID = 584580L, QUESTION_ID = 328L, SURVEY_ID = 2324L,
AFF_ID_INV_RESP = "bovine"), .Names = c("RESPONSE_ID", "QUESTION_ID",
"SURVEY_ID", "AFF_ID_INV_RESP"), class = "data.frame", row.names = c(NA,
-1L))
files = list.files(pattern="*.csv")
tbl = lapply(files, read_csv(files, col_types = cols(.default = col_character()))) %>% bind_rows
是否有一个简单的解决方法可以让我保持在 tidyverse 中,或者我必须降低一个级别并自己公开构建 for 循环 - per this。