mtcars %>% + group_by(gear) Source: local data frame [-6ren">
gpt4 book ai didi

r - 来自 "local data frame"的 `dplyr:::print.tbl_df` 消息是什么意思?

转载 作者:行者123 更新时间:2023-12-03 11:29:34 25 4
gpt4 key购买 nike

使用时 dplyr , tbl_df函数打印一条语句,说明数据框是“本地的”:

> mtcars %>%
+ group_by(gear)
Source: local data frame [32 x 11]
Groups: gear

mpg cyl ...
1 21.0 6 ...

我认为本地数据框意味着在内存中,而非本地数据框是像 SQL 这样的数据库。不过,我认为我的假设是错误的。在此 tutorial video大约在 25:25,Kevin Markham 说 data.frame对象不是本地数据框,我相信它们是。

我翻阅了 tbl_df文档并在 dplyr introduction vignette 中使用了搜索功能,但找不到本地数据框的描述。

问题: 什么是本地数据框?

最佳答案

我是 video tutorial 的作者问题中提到。以下是与本次讨论相关的功能摘要:

  • data.frame()是R创建的函数普通 数据帧。
  • data_frame()是 dplyr 的创建函数 本地 数据帧。
  • tbl_df()as_data_frame()是 dplyr 用于转换 的函数普通 数据框(或列表)转换为 本地 数据框。

  • 那么, 和有什么区别?普通 本地 数据框?很少。一个 本地 数据框只是一个 普通 已用 tbl_df 包裹的数据框类以获得更好的打印效果。 (数据仍然存储在 常规 “幕后”数据帧中。)

    具体来说,打印 本地 数据框仅显示前 10 行,以及屏幕上可以容纳的尽可能多的列。 (您可以在我的 RMarkdown documentfirst dplyr video tutorial 顶部看到此行为的示例,该示例位于上面链接的教程之前)。

    所有 dplyr 函数都返回 本地 默认情况下数据框,但您可以将其转换回 普通 使用 data.frame() 的数据框功能。这样做的一个原因是,如果您更喜欢 普通 数据框打印,即您想要查看更多行或更多列。但是, dplyr 允许您无需转换即可执行此操作:
    library(dplyr)
    library(nycflights13)

    # print a local data frame (10 rows, variable number of columns)
    flights

    # print 15 rows
    print(flights, n = 15)

    # print all rows (don't run this, since it has 336,776 rows)
    print(flights, n = Inf)

    # print all columns
    print(flights, width = Inf)

    dplyr 有一个 vignette关于提供更多技术细节的数据框。

    关于r - 来自 "local data frame"的 `dplyr:::print.tbl_df` 消息是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29084380/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com