在下面的帖子里,
aggregation using ffdfdply function in R
有这样一条线。
splitby <- as.character(data$Date, by = 250000)出于好奇,我想知道by论点是什么意思。它似乎与ff数据格式有关,但我不确定。谷歌搜索和as.character和as.vector的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)如果有人能告诉我这是什么,我会很感激的。提前谢谢你。
发布于 2015-06-27 21:09:53
由于as.character.ff在内部使用默认的as.character,并且考虑到df向量可能大于RAM,因此需要以块的形式处理数据。chunk函数为块分区提供了便利。在这种情况下,相关的方法是chunk.ff_vector。默认情况下,这将通过将getOption("ffbatchbytes")除以记录大小来计算块大小。但是,可以通过使用by提供块大小来覆盖此行为。
在给出的示例中,ff向量将一次转换为character 250000成员。
对于任何by或完全没有by的情况,最终结果都是一样的。较大的值将导致更多的临时使用RAM,但可能更快的操作。
发布于 2015-06-27 20:36:22
首先,该函数是ffbase::as.character,而不是普通的旧base::as.character。
见http://www.inside-r.org/packages/cran/ffbase/docs/as.character.ff,上面写着
as.character((x, ...))
Arguments:
x: a ff vector
...: other parameters passed on to chunk因此,by参数将传递给某些chunk函数。然后,您需要知道使用的是哪个包的chunk函数。输入?chunk,告诉我们哪一个,然后去读它的文档,看看它的by参数是干什么的。
https://stackoverflow.com/questions/31092967
复制相似问题