R中的data.tabledata.frame的增强版本。由于其执行速度和键入的代码较少,它在 R 中变得流行。data.table 的目的是创建与数据框相同的表格数据,但语法各不相同。在下面的示例中,可以看到数据表的语法:

DataTable = data.table(name = c("a", "b", "c", "d"), id = (7, 0, 3, 4))
DataTable

在上面的例子中使用函数data.table(),然后使用了c()函数,它表示连接,用于将数据打印为系列,名称将是字符串类型,因此,使用“ ”id作为整数类型,因此无需在引号中指定。

R中的data.frame类似于用于创建表格数据的数据表,但数据表提供了比数据框更多的功能,因此,通常大部分人都更喜欢data.table而不是data.frame。但是 data.frame 也很好使用,现在看看下面的数据框语法。与 data.table 的语法类似,data.frame 在这里也明显相同,这里使用函数 data.frame()而不是data.table()

# student id
stuid = c(2, 5, 3, 4, 6, 7, 4, 2, 0)

# student age
age = c(23, 45, 67, 23, 41, 43, 54, 67, 89)

# sex of the student
sex = c(1, 1, 0, 0, 0, 1, 0, 1, 1)

# student info
stuinfo = data.frame(empidno, age, sex, status)

stuinfo

上面的例子以表格形式提供了学生的数据。如果观察,data.table 的代码比 data.frame 的代码少,因此,data.table 编译所需的时间更少,并且输出速度很快,这使得数据表被广泛使用。

data.table data.frame
语法:data.table() 语法:data.frame()
data.tabledata.frame 的重写形式,在优化的 C(或)data.table 继承自 data.frame data.frame 是 R 中的基类,也是 R 中的默认值。
data.table用于更复杂的数据结构,用于大数据。 data.frame用于构建小型表格和矩阵等。
在许多情况下,data.table比Spark快得多。 data.framedata.table 慢 20 倍。
内置功能,如滚动连接,重叠范围使用户理清广泛的问题。 data.frame缺乏这些功能,但它对初学者有好处。
代码高效(可以编写更少的行数数据表中的代码) data.table相比,需要编写更多的代码行。
要将 data.table 转换为 data.frame,使用 : setDF(dt) 其中 DF = 数据框,dt = 数据表。 要将 data.frame 转换为 data.table,使用 : setDT(df) 其中,DT = 数据表,df = 数据框。
data.table由于其先进的功能以及速度和内存而被广泛使用。 data.frame也被使用,但不是data.table那么多,它对初学者来说非常好。