- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
创建小标题时,
tbl <- tibble(A=1:5, B=6:10)
结果
class(tbl)
是
[1] "tbl_df" "tbl" "data.frame"
我经常看到这个,因为我经常使用 dplyr。但是什么时候一个对象只是一个“tbl”(而不是一个“tbl_df”),反之亦然?如果有的话,我只想知道更多关于差异的信息。
任何文件将不胜感激!
最佳答案
您可以将“tibble”视为一个界面。如果一个对象可以响应所有的 tibble Action ,那么你可以认为它是一个 tibble。 R 没有强类型。
所以 tbl
是通用的 tibble,而 tbl_df
是一种特定类型的 tibble,基本上将其数据存储在 data.frame 中。
dtplyr
等其他包允许您像 tibble 一样操作,但将数据存储在 data.table
中。例如
library(dtplyr)
ds <- tbl_dt(mtcars)
class(ds)
# [1] "tbl_dt" "tbl" "data.table" "data.frame"
还有 dbplyr
包,它允许您使用 SQL 数据库后端。例如
library(dplyr)
con <- DBI::dbConnect(RSQLite::SQLite(), path = ":memory:")
copy_to(con, mtcars, "mtcars",temporary = FALSE)
cars_db <- tbl(con, "mtcars")
class(cars_db)
# [1] "tbl_dbi" "tbl_sql" "tbl_lazy" "tbl"
所以我们再次看到这个东西通常可以充当 tibble,但它还有其他类,因此它可以尝试在数据库引擎中完成所有工作,而不是在 R 本身中操作数据。
所以 tbl
和 tbl_df
之间并没有真正的“区别”。后者只是说明 tibble 实际上是如何实现的,因此行为可能会有所不同(更优化)。
更多信息,您可以查看 tibble vignette或 extending tibble vignette
关于r - 在 tidyverse 中,类 "tbl"和 "tbl_df"的对象有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51749664/
我正在将 SAS 数据集读入 R。SAS 将缺失的字符值存储为空引号,但幸运的是 zap_empty() 将这些值转换为 NA。 我的数据集包含近 400 个变量,我不想单独检查每个变量。我想做一个循
我试图将真实值保留在 dplyr 表 (tbl_df) 中,但显示四舍五入的版本。我觉得必须有一个打印方法参数来做到这一点。 这是我想要的一个例子: my_tbl % group_by(Species
当我尝试在 S4 类中使用 tbl_df 时,tbl_df 插槽似乎被转换为 list。 library('tibble') setOldClass(c('tbl_df', 'tbl', 'data.
第一次尝试在 R 中进行 OO 编程时,我声明了一个 S4 对象 TestObject,它有两个插槽,其中一个插槽 (test.df) 具有允许的 data.frame 类: library("dpl
我在使用 dplyr 的 tbl_df 和常规 data.frame 时遇到问题。我有一个很大的 tbl_df (500x30K),需要过滤它。所以我想做的是: filter(my.tbl_df, r
在使用 dplyr tbl_df 数据帧进行子设置时,我发现了一些奇怪的行为。当我使用 'matrix' style df[,'a'] 对数据帧进行子集化时它按预期返回一个向量。但是,当我在 tbl_
tibble(以前的 tbl_df)是由 R 中的 dplyr 数据帧操作包创建的数据帧版本。它可以防止长时间意外调用数据框时的表输出。 一旦数据框被tibble/tbl_df包装,是否有命令可以查看
我记得在某处读到 as.tibble() 是 as_data_frame() 的别名,但我不知道到底是什么别名是编程术语。它类似于包装器吗? 所以我想我的问题可能归结为 tbl_df() 和 as_d
我用 .dbf 文件和 dplyr 做了很多工作。 write.dbf() 中有一个错误会阻止将 tbl_df 对象写入 .dbf 文件。 不幸的是,错误消息写得不好,因此很难弄清楚到底发生了什么。
我正在使用以下代码下载一个 mysql 表并将其分配给对象 nycflights library(dplyr) my_db nycflights %>% sample_n(1) Error:
我一直在循环 dplyr tbl_df 中的值,试图打印两列的唯一组合。经过多次反复试验,我只能通过将 tbl_df 转换回标准 data.frame 来准确获得所需的输出。我知道这两种结构之间的主要
Data.frame 允许使用 [ 对列子集进行操作,默认情况下将单列/行输出丢弃到向量。 Dplyr 不允许这样做,deliberately (似乎是因为 coding was an absolut
英文缩写: 我想知道如何从 data.table 中获取唯一的行在某处沿着 dplyr工作流程。从 v0.2 开始,我可以使用 row_number==1 (见:Remove duplicated r
如何强制 dplyr 显示相当小的 data.frame 的所有列和行。下面的ddf对象,例如: df = data.frame(a=rnorm(100), b=c(rep('x', 50), rep
创建小标题时, tbl <- tibble(A=1:5, B=6:10) 结果 class(tbl) 是 [1] "tbl_df" "tbl" "data.frame" 我经常看
使用时 dplyr , tbl_df函数打印一条语句,说明数据框是“本地的”: > mtcars %>% + group_by(gear) Source: local data frame [
我得到了这些数据: > str(gaDataExt) Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 2 obs. of 5 variables: $ da
我是一名优秀的程序员,十分优秀!