问题标签 [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.
r - 将值分配给R中的大矩阵
我有一个名为 的矩阵对象,location
它具有三列(ID
、latitude
、logitude
)和 18,289 行:
我想计算每个 ID 之间的 Haversine 距离。包geosphere
中的函数distm()
可以创建对称距离矩阵,但是它的维度是18289乘18289。但是,R
报告了它的错误cannot allocate vector of size 2.5 Gb
。
同样,对于ff
包,
ff
不会产生错误,但是当我为矩阵赋值时,R
又会产生错误。
错误:无法分配大小为 2.5 Gb 的向量
另外:警告消息:
1:在矩阵中(0,ncol = n,nrow = n):
达到 2047Mb 的总分配:请参阅帮助(memory.size)
2:在矩阵中(0 , ncol = n, nrow = n) :
达到 2047Mb 的总分配:参见帮助(memory.size)
3:在矩阵中(0,ncol = n,nrow = n):
达到 2047Mb 的总分配:参见帮助(memory.size) size)
4: In matrix(0, ncol = n, nrow = n) :
达到 2047Mb 的总分配: 见帮助(memory.size)
我可以通过以下方式验证此错误:
然后得到这个错误:
错误:无法分配大小为 772.1 Mb 的向量。
我的问题是:
ff
我为矩阵对象赋值的代码是否错误?ff
我应该使用特殊的东西来为对象 赋值吗?- 对象可以
ff
处理存储需求吗? - 我可以使用不涉及循环的应用函数使用另一种方法来计算距离吗?我知道该函数
distm()
产生的矩阵是需要的两倍大,因为它是对称的。 - 还有其他处理大数据的方法吗?该
bigmemory
软件包似乎无法在我的 Windows 计算机上运行。
r - ETLUtils 和 ODCB 连接问题
我正在尝试连接到 Oracle 数据库,提取我的数据并将其放入 R 上的平面文件中。该表有大约 1600 万行和 25 列。其中一些列中有许多字符串。我在 R 中使用 RODBC 和 ETLUtils 包。
这是我的代码:
运行此程序后,我收到以下错误:
我不知道如何解决这个问题。
r - 如何将数据分配给 R 中动态命名的 ff 变量?
我想将 .mat 文件中的大型数组读入 R 中动态命名的 ff 文件。
我尝试了以下方法:
问题:在第一次“分配”之后一切都很好。但在第二次“赋值”之后,变量“varName”的类型变为普通数组。使用静态变量,您可以像这样分配值:
但是我怎样才能将其转化为动态语句呢?我该如何处理根据 ff 包文档需要的“[,]”?
提前干杯和感谢,托洛尔
r - 将多个 CSV 文件中的数据读取到单个 ffdf 对象中
是否可以将多个文件中的数据一次加载到 ff 数据帧 (ffdf) 中?可以说我有
我知道我可以将每个 csv 文件加载到一个单独的 ffdf 对象中,然后将它们 ffdfrbind.fill 在一起。但这似乎是一种低效的方式,加载两次。有没有更直接的方法?
r - 如何在ff或ffbase中将因子向量转换为POSIXct
用 读入大型数据集后read.csv.ffdf
,其中一列是时间。例如2014-10-18 00:01:02
,对于该列中的 100 万行。该列是一个因素。如何将其转换为POSIXct
受支持ff
?只需使用as.POSIXct()
将值转换为NA
或者当我一开始读入数据集时,我可以将该列指定为POSIXct
吗?
我的目标是获得月份和日期(甚至小时)。因此,除了转换为POSIXct
.
例如,我们有 9 x 2 表,
两列是 ID(数值类)和时间(因子类)
这是输入
r - 为ff中的变量赋值
由于数据库的大小,我正在使用 ff 数据集(final_faf_data)。我正在尝试创建一个新变量 dpy,它对于所有行只有一个值(365)。当我尝试以下 cmd 时(类似于我在数据框中所做的)
我收到以下错误
所以我的问题是如何分配它?我试过
但它给出“NULL”
任何见解将不胜感激。
TIA,克里希南
r - ffdf对象的R逻辑回归
我已经使用stats 包中的glm函数构建了一个逻辑回归模型。我现在想预测该模型对大量值的结果,这些值存储在“ffdf”对象(请参阅 ff 包)中,但是我不知道如何进行:
如何创建我的 ffdf 对象的子集,以便仅保留要在我的预测中使用的变量(即列)?- 需要在预测函数中指定为输入
接下来我应该如何进行?在predict()、predict.glm()、predict.bigglm()之间应该使用哪个函数(也许 biglm 包有帮助)?
提前感谢您对此的看法!
此致
更新
感谢您的反馈 BondedDust。
让我更准确地说,这确实是一个编码问题,旨在基于一个 ffdf 对象(学习数据集)进行逻辑回归,并预测另一个 ffdf 对象(测试数据集)的模型结果。
(1/3) 学习数据集:ffdf 对象(使用 ff 包创建)。
以下是 ffdf 对象的结构,以备不时之需:
(2/3)基于学习数据集的 逻辑回归:
目标是根据“baser_pos”输入来学习/预测“点击”结果
(3/3)测试数据集:ffdf对象(用ff包创建)。
测试数据集结构与训练数据集相同,约 480 万行
我无法成功预测点击结果。我首先尝试创建一个包含 banner_pos 变量的数据框或 ffdf 对象:
然后我试图预测结果:
我的代码有问题吗?我应该使用其他功能来利用其他软件包(例如 biglm)吗?
非常感谢您对这个问题的看法,
最好的问候
r - 加载大型数据集时带有 FF 的 R 崩溃
晚上好,
我正在尝试使用 LaF 和 ffbase 或 ff 将数据集加载到 R(~20 百万行,140 cols ~6.2gb 在磁盘上)。在任何一种情况下,加载都会失败。
或数据 <- read.csv.ffdf(file = 'proj.csv', colClasses = colClasses, header = TRUE)
它运行了一会儿,然后输出大量的项目,例如:1L 1L 1L 这似乎对应于变量。
然后列出变量,如: variable_name = list() then 5: ffdfappend(x,block) 6: laf_to_ffdf(ldat)
最后问我想如何退出R。
我试过下沉输出,但它没有写任何东西,因为接收器没有关闭(?),而且它输出的废话量似乎破坏了我的滚动缓冲区。
有谁之前经历过这个吗?
更多信息:我在 Windows 7 虚拟机中运行了相同的脚本,它完成得很好。幸运的是,我能够看到所有废话之前的错误,它说明了一个“不存在的物理地址”,这似乎与 mmap 相关。
我将尝试重新编译所有内容,看看效果如何。任何进一步的建议请告诉我!
eclipse - 如何在 ffdf 中创建 POSIXct 向量?
我环顾四周,似乎不太了解这是怎么回事。我在 Eclipse 中使用 R。我要导入的文件是 700mb,大约有 1500 万行和 6 列。由于我在加载时遇到问题,我已经开始使用该ff
包。
然后我想创建一个 POSIXct 序列,该序列稍后将与导入的文件结合。我试过了;
但是 R 一直在崩溃。然后我测试了这是 RStudio 并看到它们对向量的 where 约束。然而,它确实产生了正确的
所以我回到 Eclipse,认为这与内存分配有关。我尝试了以下方法;
这给出了一个错误
'as.ffdf' 没有适用于类“c('POSIXct', 'POSIXt')”的对象的方法
我似乎无法解决这个问题。然后我尝试...
这会产生输出日期,但格式不正确。除此之外,当...
在执行的地方,它们都返回 null。
问题
- 如何以我上面需要的格式生成 POSIXct seq?
r - 无法从 .RData 访问 ffdf 文件
我使用包中的命令使用以下命令加载了大数据文件(https://www.kaggle.com/c/avazu-ctr-prediction):read.csv.ff
ff
然后使用通常的保存工作区从RStudio
. 它创建了两个文件:
一个.RData
文件和.ffData
一个压缩文件。
一切正常,但每次我重新启动计算机或关闭RStudio
并RStudio
再次打开时,我都无法ffdf
从我的工作区访问对象,并给出错误:
或者我可以ffobject
在我加载的工作区中看到。
这是什么问题?我该如何解决?
先谢谢了,人力资源部