R中的data.table
是data.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.table 是 data.frame 的重写形式,在优化的 C(或)data.table 继承自 data.frame 。 |
data.frame 是 R 中的基类,也是 R 中的默认值。 |
data.table 用于更复杂的数据结构,用于大数据。 |
data.frame 用于构建小型表格和矩阵等。 |
在许多情况下,data.table 比Spark快得多。 |
data.frame 比 data.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 那么多,它对初学者来说非常好。 |