在下面的帖子中,
aggregation using ffdfdply function in R
有这样一条线。
splitby <- as.character(data$Date, by = 250000)
出于好奇,我想知道by
参数意味着什么。它似乎与ff
数据帧有关,但我不确定。 <{1}}和as.character
的Google搜索和R文档没有提供有用的信息。
我尝试了一些例子,但下面的代码给出了相同的结果。
as.vector
如果有人能告诉我它是什么,我会很感激。提前谢谢。
答案 0 :(得分:3)
由于as.character.ff
在内部使用默认的as.character
,并且鉴于df向量可能大于RAM,因此需要以块的形式处理数据。 chunk
函数便于将分区分成块。在这种情况下,相关方法是chunk.ff_vector
。默认情况下,这将通过将getOption("ffbatchbytes")
除以记录大小来计算块大小。但是,可以使用by
提供块大小来覆盖此行为。
在您给出的示例中,ff矢量将一次转换为character
250000个成员。
对于任何by
或根本没有by
,最终结果都是相同的。较大的值将导致更大的临时RAM使用,但可能会更快地运行。
答案 1 :(得分:1)
首先,该功能是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
参数的作用。