读完全引用的.csv有R data.table FREAD
问题描述:
我想读.csv文件看起来像这样在每一个单元格引用文件:
“A”,“B”
“1”, “你好”
“2”,“你好,测试”读完全引用的.csv有R data.table FREAD
使用read.csv()它可以很好地处理integer类型的列“a”。使用data.table :: fread()列“a”是字符类型,但。
x <- fread("\"a\",\"b\"\n\"1\",\"hello\"\n\"2\",\"hello, test\"")
summary(x)
a b
Length:2 Length:2
Class :character Class :character
Mode :character Mode :character
有没有办法告诉fread确定完全引用的.csv文件中的列类型?
答
x <- fread("\"a\",\"b\"\n\"1\",\"hello\"\n\"2\",\"hello, test\"")
x[, names(x) := lapply(.SD, type.convert, as.is = TRUE)]
summary(x)
a b
Min. :1.00 Length:2
1st Qu.:1.25 Class :character
Median :1.50 Mode :character
Mean :1.50
3rd Qu.:1.75
Max. :2.00
您可以使用'colClasses'参数指定列类。见'?fread'。 – Jaap
要通过colClasses参数指定类型,我需要事先知道它们,但我不知道。上面的小例子仅用于说明格式的外观。我的实际输入文件有数百个列。 –
您可以使用'x [,names(x):= lapply(.SD,type.convert)]'在事实之后进行转换。也许这一步应该添加作为fread ... – Frank