问题标签 [ff]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
137 浏览

r - ff 包中的 ffsave 创建一个大文件“clone.ff”

我有一个关于 ffsave 的问题(来自 ff 包)。

我有一个像这样保存的大矩阵:

在我的文件夹(results_wd)中,我有“Mat.ffData”、“Mat.RData”和“clone28b4d345101.ff”

当我加载我的矩阵时:

所以它从 clone28b4d345101.ff 加载数据

问题是 clone28b4d345101.ff 的大小是 10Mo 并且我有 608*5 这样的文件,所以使用 ff 是没用的......即使我关闭 R,文件仍然在这里(我认为这是工作区的负载)。当我删除这些文件时,当我使用 ffload 时它们又回来了。

如果没有名为 clone(numbers).ff 的文件(只有 name.ffData 和 name.RData),我不能使用 ffsave 吗?

0 投票
1 回答
5606 浏览

r - 使用read.table.ffdf将非常大的csv文件读入R时如何指定colClasses?

我正在尝试使用“ff”包中的函数 read.table.ffdf() 读取一个非常大的 .csv 文件,大小约为 20G,但在 read.csv() 中指定 colClasses 选项时遇到了麻烦。

我必须指定 colClasses 选项,因为文件中的某些列是非常长的整数的标签,例如 11 位数字。例如,文件中的两行是

整数 10800749282 对于“integer”类型来说太大了,只能作为“numeric”或“character”处理。但是上一行中的值 104116343 不够大,所以 R 默认会将此列视为“整数”。

我尝试了以下但有一个错误。有谁知道如何解决这个问题?高度赞赏!

ff 中的错误(initdata = initdata,长度 = 长度,级别 = 级别,有序 = 有序,:未实现 vmode 'character'

0 投票
2 回答
260 浏览

r - 如何从包ff(在R中)中重载函数“[<-.ffdf”和“[.ffdf”?

我遇到了 ff 包中的写入错误。这个答案表明解决方案可能是重载函数“[<-.ffdf”和“[.ffdf”。有人可以更详细地详细说明这一点,或者至少建议我需要弄清楚什么才能理解实现这一目标所必需的。请记住,这个问题来自新手。

0 投票
0 回答
489 浏览

r - 在 FF 对象中创建虚拟变量

我有一个 FFDF 对象,我想在其中创建虚拟变量。具体来说,我有一个单独的名称向量,如果该向量中的名称与我在 FFDF 中的列向量中的名称匹配,我想创建虚拟变量.

例如,假设我有这个向量和这个 FFDF 对象:

我想做的是在 FFDF 文件中创建一个单独的列,如果“Name”中的名称与“DonorName”中的名称匹配,则将其设为 1。通常,我可以使用 ifelse() 命令,但 ff 版本 (ffifelse) 给了我这个错误:“测试需要是逻辑/布尔 ff 向量。” 我还应该补充一点,我已经使用 as.ffdf() 命令将第一个向量强制转换为 ffdf 对象。

编辑:

我想我终于可以让它工作了。这行代码似乎起到了作用。

0 投票
0 回答
154 浏览

r - 使用 ff 包 R 中的 ffwhich 函数编写循环

我有一个非常大的名为“Scenarios”的 ffdf,我想根据两个变量将名为“Eventfreq”的列之一分类到 bin 中,然后将每个 BIN 中的值相加。

下面的函数基本上对一组变量执行此操作:

现在我只想应用上述函数但改变 3 个输入变量(M、R1、R2),我尝试了如下循环:

但随后我收到如下错误消息:

当我手动输入变量 M、R1、R2 时,该函数工作正常,所以问题一定出在循环的运行方式上,任何建议都将不胜感激。谢谢

0 投票
0 回答
284 浏览

r - R Foreach 使用 ffdf mapply 函数进行并行处理

我有一个名为“Scenarios”的大型 ffdf,我正在从 NGA 包中应用一个函数。我已经在使用 mychunks 来尝试加快速度,但它仍然很慢。我可以使用 Foreach 包进行并行处理吗?我目前的代码如下所示:

我在 Foreach 上没有取得太大的成功,我需要加快速度,任何帮助将不胜感激。谢谢

0 投票
1 回答
1314 浏览

r - 如何将ff向量更改为法线向量R

我有一个接受向量作为输入的函数。

我有一个ffdfnamed X,并且想使用数据列作为函数输入的向量。

要将名为“Mag”的数据列作为向量,我将使用以下内容:

但是,ff我相信这是一个向量,并且该函数只会接受法线向量,我该如何将其更改回法线向量?

我想我只需要使用物理组件,但我不知道如何编码。

提前致谢。

0 投票
1 回答
1632 浏览

r - 当 ff 矩阵内存分配不够时,在 R 中使用大型数据集的相关矩阵

我有一个简单的分析要做。我只需要计算列(或行,如果转置)的相关性。够简单吗?我无法获得整周的结果,我已经浏览了这里的大部分解决方案。

我的笔记本电脑有 4GB RAM。我确实可以访问具有 32 个节点的服务器。我的数据无法在此处加载,因为它很大(411k 列和 100 行)。如果您需要任何其他信息或数据的一部分,我可以尝试将其放在这里,但是无需真正查看数据即可轻松解释问题。我只需要得到一个大小为 411k X 411k 的相关矩阵,这意味着我需要计算数据行之间的相关性。

我尝试编写的概念:(所有这些都以某种方式给我带来了内存问题或永远运行)

  1. 最简单的方法,一行反对所有,使用 append.T 写出结果。(永远运行)
  2. biCorPar.r by bobthecat ( https://gist.github.com/bobthecat/5024079 ),将数据分成块并使用 ff 矩阵。(无法在我的服务器中使用 ff() 分配内存来分配 corMAT 矩阵)
  3. 将数据拆分为集合(每 10000 个连续行将是一个集合)并将每个集合与另一个集合进行相关(与 bigcorPar 相同的逻辑),但我无法找到一种方法将它们最终存储在一起以生成最终的 411kX411k 矩阵.
  4. 我现在正在尝试这个,bigcorPar.r 在 10000 行上针对 411k(所以 10000 被分成块)并将结果保存在单独的 csv 文件中。
  5. 我还尝试在我的服务器的一个节点中运行每 1000 对 411k,今天是我的第三天,我仍然在第 71 行。

我不是 R 专业人士,所以我只能尝试这么多。要么我的代码永远运行,要么我没有足够的内存来存储结果。有没有更有效的方法来解决这个问题?

感谢您的所有评论和帮助。

0 投票
1 回答
1987 浏览

r - 使用 ff 包中的 ffsave 和 ffload

当我在 R 中 ffsave 使用 ffload 时,*.ff 文件有问题。
当我使用时,ffsave(fileName)我看到fileName.ffDataand fileName.RData

我的问题是:

  1. *.ff在我使用时ffsave还是在使用后创建的ffload(fileName)
  2. 我可以*.ff在看到文件后删除它们吗?
  3. 我可以控制*.ff文件的存储位置吗?

谁能教我正确的使用ffsaveffload删除方法,*.ff因为它们是大文件?谢谢。

0 投票
1 回答
280 浏览

r - 将 ff POSIXct 向量转换为 ff 数值向量

我正在尝试将具有POSIXct条目的ff向量转换为ff数值向量,其中包含自 1970 年 1 月 1 日以来的相应秒数。

x = as.ff(as.POSIXct(c("2014-06-30 00:01:27 BST", "2014-06-30 00:02:17 BST")))

“自然”as.numeric(x)不起作用,产生:numeric(0)

as.ff(as.numeric(x[]))工作,产生

ff (open) double length=2 (2) [1] [2] 1398898887 1398898937

这是理想的结果。尽管它涉及 ram object x[]。有没有办法仅使用 ff 对象来实现上述结果(即不中介 ff 向量的 ram 等效项)?