r - 将 fread 函数读入的数据转换为 data.frame

标签 r class data.table fread

假设我有一个 3 行 4 列的示例 csv 文件。说它看起来像下面这样:

name1 name2  name3 name4
11    12     13    14
21    22     23    24
31    32     33    34

我在使用 fread() 时阅读了它(我使用小样本进行说明):
data <- fread(sample.csv, stringsAsFactors=FALSE)

然后我做
class(data)

它会回来
[1] "data.table" "data.frame"

我想看第四列的第一个元素,我试过了
data[1,4]

但它返回 4(我猜是列的索引)。

有趣的是,当我调用以下
data[1,] 

或者
data[1]

它返回第一行。

所以我做了
data <- data.frame(data)

将数据转换为数据框。

我的问题:
1.由于初始数据有两个类,有没有办法让我选择一个类并“删除”另一个类?就我而言,我只想将数据用作数据框。
2. 一般情况下,如果数据有多个类,我们可以选择一个类来保留吗?例如,as.POSIXct()将返回一个具有两个类的对象(“POSIXct”“POSIXt”)。如果我们只想保留其中一个类怎么办?任何功能都以通用方式用于此目的?

最佳答案

如果您想使用 fread 并希望将数据作为数据框获取,只需设置 data.table 的属性即可。为假。默认情况下它是真的。

一个 data.table默认情况下。一个 data.frame当参数 data.table=FALSE;
例如。

options(datatable.fread.datatable=FALSE).

请参阅 R fread 的文档以供引用。
https://www.rdocumentation.org/packages/data.table/versions/1.10.4-2/topics/fread

关于r - 将 fread 函数读入的数据转换为 data.frame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33139586/

相关文章:

r - 用不同的变量替换重复项

javascript - RequireJS 和类继承

r - 使用 R expss 和 data.table 是否可以从 csv 文件加载 data.table 标签,而不是手动输入代码?

r - 像在 Stata 中一样标记 R 中的所有重复行

r - 如何在运行时 Shiny 的 rmarkdown html_notebook 中使用 renderPlot 布局 2 行,然后是 1 列

r - R 中的柯尔莫哥洛夫-斯米尔诺夫检验

在 R 中系统地重命名字符串

python - 限制 Python 类中属性的可能值

ruby - 在 Nokogiri 对象上使用 ruby​​ "send"作为 page.send(a) 其中 ="at(' div.class-name')"

r - 数据表映射