使用 fread 读取 .csv 文件后访问列

Access column after reading .csv file with fread

当我像这样使用 read.csv 读取 .csv 文件时

df1 <- read.csv("a.csv")

我像这样访问一个列

df1[,1]

我得到了预期的列向量。


但相反,如果我使用 fread(来自图书馆 data.table)

读取 .csv
df2 <- fread("a.csv")

并访问单个列

df2[,1]

只是 returns

1

有人可以解释一下,当我用 fread 读取 csv 时,为什么我不能通过索引访问列向量?

根据data.table中的?fread,会发现一个参数data.table

data.table TRUE returns a data.table. FALSE returns a data.frame.

默认情况下,data.tableTRUE,因此会创建一个 data.table。

如果您喜欢 df2[,1] 样式,请使用:

df2 <- fread("a.csv",data.table=FALSE)