r - ffbase::as.character 中的 "by"参数有什么作用?

标签 r character optional-parameters coercion ffbase

在下面的帖子中,

aggregation using ffdfdply function in R

有这样一行。

splitby <- as.character(data$Date, by = 250000)

出于好奇,我想知道 by 参数是什么意思。它似乎与 ff 数据框有关,但我不确定。 as.characteras.vector 的 Google 搜索和 R 文档没有提供有用的信息。

我尝试了一些示例,但下面的代码给出了相同的结果。

d <- seq.Date(Sys.Date(), Sys.Date()+10000, by = "day")
as.character(d, by=1)
as.character(d, by=10)
as.character(d, by=100)

如果有人能告诉我这是什么,我将不胜感激。预先感谢您。

最佳答案

由于 as.character.ff 在内部使用默认的 as.character 工作,并且鉴于 df 向量可能大于 RAM,因此数据需要以 block 的形式进行处理。 chunk 函数有助于将其划分为 block 。在这种情况下,相关方法是chunk.ff_vector。默认情况下,这将通过将 getOption("ffbatchbytes") 除以记录大小来计算 block 大小。但是,可以通过使用 by 提供 block 大小来覆盖此行为。

在您给出的示例中,ff 向量将一次转换为字符 250000 个成员。

对于任何 by 或根本没有 by,最终结果都是相同的。值越大,RAM 的临时使用量越大,但操作速度可能会更快。

关于r - ffbase::as.character 中的 "by"参数有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31092967/

相关文章:

r - Purrr ~ 操作符记录在哪里?

javascript - 根据文本字符串的第一个字符生成链接

c# - 如何通过反射执行带有可选参数的私有(private)静态方法?

可选参数

R 在一列中查找重复项并在第二列中折叠

regex - 如何在 R 中对百分比进行 strsplit

javascript - 使用javascript改变R Shiny 的selectinput的背景颜色

php - 删除非英文字符 PHP

sql - 替换 SQL 结果中的字符

ruby - 为什么 block 变量是可选的?