fread() 将所有内容读取为“字符”

问题描述 投票:0回答:1

立即为没有 MRE 道歉。

我正在使用 fread() 将大约 45 个不同的 .csv 文件堆叠在一个数据框中。

dat<-fread(cmd='cat data/*.csv, header=T)

我从韦伯对此问题的回答中复制了这个

它运行良好,读入也很好,但目前每列都被保存为字符,而其中大约 90% 实际上是数字。

dat<-fread(cmd='cat data/*.csv, header=T,colClasses="numeric")

我尝试将所有内容强制转换为数字,但这不起作用。有没有什么办法解决这一问题 谢谢!

r fread
1个回答
0
投票

尝试这个(data.table)方法

library(data.table)
files.to.read <- list.files(path = "./data", 
                            pattern = ".*\\.csv$", 
                            full.names = TRUE, 
                            recursive = FALSE)
L <- lapply(files.to.read, fread)
DT <- rbindlist(L, use.names = TRUE, fill = TRUE)

为了可读性,我使用了 3 行代码。但如果需要,您可以轻松地将它们转换为单行。

© www.soinside.com 2019 - 2024. All rights reserved.