我需要读取多个csv文件和im使用文件列表和Fread在R,但不断得到以下错误,列26包含电话号码,如果这有助于我想改变它的字符
“rbindlist(l,use.names,fill,idcol)中的错误:内部错误:结果的第26列被确定为整数64,但是maxType==‘character’!= REALSXP”
这是我的代码
##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~##
SD_data <- data.table(NULL)
file_list <- list.files(path = SD_Data_feed, pattern="ldn - Data.*\\.csv", ignore.case=TRUE)
for (i in 1:length(file_list)){
temp_data <- fread(file.path(SD_Data_feed, file_list[i]),
select = c(1:4,6:33),
encoding = "UTF-8")
SD_data <- unique(rbind(SD_data, temp_data))}
我尝试了很多方法:
colClasses=list(character=26)在select和encoding之间
colClasses=c(26 =“character”)在select和encoding之间
1条答案
按热度按时间k5ifujac1#
使用
colClasses=list(character=26)
。示例数据和演示:
为了自动化你的代码,我推荐几件事:
list.files(..., full.names = TRUE)
排除了将目录(我们已经知道)与文件名粘贴在一起的需要lapply
到帧列表中;rbindlist
合并为一帧(The
|>
是R-4或更新版本。)