在dplyr
包中,他们谈到tbl
,如何加入他们等等。
我到处寻找tbl
的解释但无法找到有用的内容。
我怀疑这个术语不仅仅在dplyr
包中使用,但万一我会告诉您在使用dplyr
时碰到它。
我不知道这意味着什么,所以我的问题是:
tbl
代表什么(在dplyr
包中或一般情况下)?
答案 0 :(得分:2)
tbl = table
在plplyr中有几种类型的表:加入==>加入两个tbls。
join.tbl_df ==>加入数据框 tbls。
join.tbl_dt ==>加入数据表 tbls。
join.tbl_sql ==>加入 sql tbls。
答案 1 :(得分: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函数(联接,选择,突变等)将返回data.frame。
library(dplyr)
select(mtcars, cyl) %>% class
但是,在tbl_df / tibble上调用dplyr函数(请参见my answer on tibble vs tbl_df)会返回tbl_df / tibble。
> select(tbl_df(mtcars), cyl) %>% class
[1] "tbl_df" "tbl" "data.frame"
在这里,我们看到tbl_df
继承自tbl
,而data.frame
继承自import { Injectable } from '@angular/core';
import { Resolve, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { Observable, of } from 'rxjs';
import { map, catchError } from 'rxjs/operators';
import { ProductResolved } from './product';
import { ProductService } from './product.service';
@Injectable({
providedIn: 'root'
})
export class ProductResolver implements Resolve<ProductResolved> {
constructor(private productService: ProductService) { }
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<ProductResolved> {
const id = route.paramMap.get('id');
if (isNaN(+id)) {
const message = `Product id was not a number: ${id}`;
console.error(message);
return of({ product: null, error: message });
}
return this.productService.getProduct(+id)
.pipe(
map(product => ({ product: product })),
catchError(error => {
const message = `Retrieval error: ${error}`;
console.error(message);
return of({ product: null, error: message });
})
);
}
}
。
答案 2 :(得分:1)
我认为这是tibble。
tbl_df类是data.frame的子类,其创建目的是为了具有不同的默认行为。口语术语“ tibble”是指具有tbl_df类的数据帧。 Tibble是称为tidyverse的一组软件包的中央数据结构,包括dplyr,ggplot2,tidyr和readr。