fread - 将所有列作为字符读取
Posted
技术标签:
【中文标题】fread - 将所有列作为字符读取【英文标题】:fread - read all columns as character 【发布时间】:2017-10-26 16:35:03 【问题描述】:我正在尝试使用 data.table
/ fread
将文件读入 R。一些字段有前导零,我只想将数据作为字符读取并手动修复它们。但是我不知道如何将其传达给fread
。我正在尝试这个,它像往常一样分配 char、num 等类型:
prop1 <- data.frame(fread("C:\\myFile.csv"), stringsAsFactors = F, colClasses = c(rep('character',58)))
我错过了什么?
【问题讨论】:
【参考方案1】:简单地说:
colClasses=c("character")
【讨论】:
我知道你试图简单,但是一些额外的文字会帮助人们将其视为完整的答案:) prop1 【参考方案2】:您的colClasses
参数放错了位置。它需要在fread()
内,而不是在data.frame()
内。试试这个:
prop1 <- data.frame(fread("C:\\myFile.csv",
colClasses = c(rep("character", 58))),
stringsAsFactors = FALSE)
更规范地使用data.table
来实现这一点是:
prop1 <- fread("C:\\myfile.csv", colClasses = 'character', data.table = FALSE)
【讨论】:
@MichaelChirico 如何为一列指定类,然后让 fread 自动猜测其余列的类? @user2205916 使用colClasses = list(character = 'known_char_col')
,即以list
格式传递已知列的类型,参见?fread
@MichaelChirico 我不明白。我的问题,更清楚地提出:***.com/questions/48838222/r-data-tablefread以上是关于fread - 将所有列作为字符读取的主要内容,如果未能解决你的问题,请参考以下文章