r - srckeep 如何影响底层磁盘框架?
问题描述
我有一个带有这些列的磁盘框架
key_a
key_b
key_c
value
假设磁盘框架是 200M 行,我想按 key_b 对其进行分组。此外,我希望保持底层磁盘框架完好无损,以便以后可以将其加入 key_c 上的其他内容或将其聚合到 key_a 上。我担心 srckeep 会影响底层磁盘框架。
这些中的任何一个都可以吗?如果是这样,我可以期望一个比另一个快吗?
df %>%
srckeep("value", "key_b") %>%
group_by(key_b) %>%
summarize(avg = mean(value)) %>%
collect
df[
keep = c("value", "key_b"
.(avg = mean(value)),
.(key_b)
]
这些聚合中的任何一个将如何影响底层磁盘框架?我之前有一个经验,我将聚合分配给一个变量,然后运行delete(aggregation
,但它删除了整个磁盘框架。
解决方案
当你应用一个操作时,它根本不会改变底层的 disk.frame!
srckeep
只影响使用的内容!srckeep
它在进行处理时仅将那些列加载到内存中。同样,它根本不会影响基础数据。
除非你这样做write_disk.frame(some_other_diskf, "to/location_of_disk.frame.df", overwrite=TRUE)
会覆盖旧的disk.frame。
disk.frame 始终在磁盘上。你可以看到它在哪里attr(diskf, "path")
推荐阅读
- sql - 将 nvarchar 值“FY2017M7”转换为数据类型 int 时转换失败
- c++ - 多线程读取数据
- jquery - request.getParameter 在 ajax 调用中返回 null
- sql - 在没有连接的多个表中选择 PSQL
- redux - Redux 没有获取任何数据
- getorgchart - getOrgChart:不同类型的关系
- ios - 如何为 CocoaPods 测试目标指定设备和 iOS 版本?
- vba - 将切换按钮分配给类模块的问题
- linux - 使用 64 位 Linux 在汇编中为 x86_64 编写 putchar?
- maven - Clover 失败并显示“未找到 Clover 数据库,跳过报告生成”