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

Sta*_*ing 5 r class fread data.table

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

name1 name2  name3 name4
11    12     13    14
21    22     23    24
31    32     33    34
Run Code Online (Sandbox Code Playgroud)

我在使用中阅读了它fread()(我使用小样本进行说明):

data <- fread(sample.csv, stringsAsFactors=FALSE)
Run Code Online (Sandbox Code Playgroud)

然后我做

class(data)
Run Code Online (Sandbox Code Playgroud)

它会回来

[1] "data.table" "data.frame"
Run Code Online (Sandbox Code Playgroud)

我想看第四列的第一个元素,我试过了

data[1,4]
Run Code Online (Sandbox Code Playgroud)

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

有趣的是,当我调用以下

data[1,] 
Run Code Online (Sandbox Code Playgroud)

或者

data[1]
Run Code Online (Sandbox Code Playgroud)

它返回第一行。

所以我做了

data <- data.frame(data)
Run Code Online (Sandbox Code Playgroud)

将数据转换为数据框。

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

小智 -2

data <- read.csv(sample.csv, stringsAsFactors=FALSE)
Run Code Online (Sandbox Code Playgroud)

用于read.csv()直接获取csv作为data.frame。

如果使用data[1,4],则应该将 14 作为输出。