使用fread,如何读取包含行名和列名的CSV文件。 我试过了,但它没有正确读取行名和列名。
csv文件看起来像(其中C1,C2,C3是列名,r1,r2,r3是行名)
input = ",C1,C2,C3
r1,A,B,C
r2,1,3,5
3,2,4,6"
我使用功能
require(data.table)
fread(input,header = TRUE)
给出
r1 A B C
1: r2 1 3 5
2: 3 2 4 6
如何使用fread正确读取CSV?
答案 0 :(得分:4)
您应该提交错误报告。
这是一个解决方法:
colnames <- strsplit(readLines(textConnection(input), n=1), ",")[[1]]
colnames[1] <- "rownames"
setnames(DT <- fread(input, skip=1, header=FALSE), colnames)
DT
# rownames C1 C2 C3
#1: r1 A B C
#2: r2 1 3 5
#3: 3 2 4 6
正如您所知,data.table不支持rownames。