在R语言中(例如在dplyr包中),"tbl"代表什么?

4
在包中,他们谈到了,以及如何连接它们等等。我已经到处寻找有关的解释,但没有找到任何有用的信息。我怀疑这不仅是在包中使用的术语,但以防万一,我会让您知道当我使用时遇到了它。我不知道它的含义,所以我的问题是:在包或一般情况下,代表什么?

我花了10分钟时间试图找到有用的例子,最终发现我需要在表名周围加上引号才能从数据库返回表数据 --> tbl(con,“tableName”)。文档在过去几年中没有改进。 - Andrew Borst
3个回答

4

tbl = 表格

在dlplyr中有几种类型的表格:

join ==> 将两个表格合并在一起。

join.tbl_df ==> 合并 数据框 表格。

join.tbl_dt ==> 合并 数据表 表格。

join.tbl_sql ==> 合并 SQL 表格。


1

我认为这是一个tibble

tbl_df类是data.frame的子类,旨在具有不同的默认行为。口语术语“tibble”指的是具有tbl_df类的数据框。Tibble是一组称为tidyverse的软件包的中心数据结构,包括dplyr、ggplot2、tidyr和readr。


1

实际上,很难找到关于这个主题的信息。 tbl/is.tbl 的文档提供了非常少的信息。

据我所知,tbl 是一个通用类,用于作为 dplyr 函数的数据参数输入表格数据。

创建 tbl 时,在类名前加上 "tbl_"。来自 dplyr/tbl.r

#' Create a "tbl" object
#'
#' `tbl()` is the standard constructor for tbls. `as.tbl()` coerces,
#' and `is.tbl()` tests.
#'
#' @keywords internal
#' @export
#' @param subclass name of subclass. "tbl" is an abstract base class, so you
#'   must supply this value. `tbl_` is automatically prepended to the
#'   class name
#' @param object to test/coerce.
#' @param ... For `tbl()`, other fields used by class. For `as.tbl()`,
#'   other arguments passed to methods.
#' @examples
#' as.tbl(mtcars)
make_tbl <- function(subclass, ...) {
  subclass <- paste0("tbl_", subclass)
  structure(list(...), class = c(subclass, "tbl"))

对数据框(data.frame)使用任何dplyr函数(join,select,mutate等)都会返回一个数据框。
library(dplyr)
select(mtcars, cyl) %>% class

然而,在 tbl_df/tibble 上调用 dplyr 函数(参见tibble vs tbl_df 上的我的回答)会返回一个 tbl_df/tibble。
> select(tbl_df(mtcars), cyl) %>% class
[1] "tbl_df"     "tbl"        "data.frame"

在这里,我们看到tbl_df继承自tbl,而tbl又继承自data.frame


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接