问题标签 [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中将大数据框从宽改成长
我已经经历了各种reshape
问题,但不相信以前有人问过这个迭代。我正在处理一个包含 81K 行和 4188 个变量的数据框。变量 161:4188 是作为不同变量呈现的测量值。在第idvar
1 列中。我想重复第 1:160 列并为第 169:4188 列创建新记录。最终数据框的维度为 162 列和 326,268,000 行(81K * 4028 个变量转换为唯一记录)。
这是我尝试过的:
reshapeddf <- reshape(c, idvar = "PID", varying = c(dput(names(c[161:4188]))),
v.names = "viewership",
timevar = "network.show",
times = c(dput(names(c[161:4188]))),
direction = "long")
操作没有完成。我等了将近10分钟。这是正确的方法吗?我使用的是 Windows 7、8GB RAM、i5 3.20ghz PC。在 R 中完成此转置的最有效方法是什么?BondedDust 和 Nick 的两个答案都很聪明,但我遇到了记忆问题。有没有办法在这个线程中使用这三种方法中的任何一种reshape
,tidyr
或者do.call
可以使用来实现ff
?
在下面的示例数据中,1:4 列是我要重复的列,5:9 列是要为其创建新记录的列。
r - 如何在 R 中“拆分”我的数据集?
我已经尝试了很长一段时间来拆分我的测试数据。
我将使用它的文件是一个 ffdf 对象,因为它是 700mb。我想知道如何拆分数据集?
我当前的代码是;
我已经在论坛和其他地方做了很多变化和研究。但是,为简单起见,我只包含了上面的示例。
运行时,上面的代码给了我以下错误;
ffdfdply (FDF3, split(FDF3$ID, rep(1:10, each = 10))) 中的错误:
split 的长度必须与 x 中的行数相同
我似乎无法理解为什么拆分rep(1:10, each = 10)
在一个数据集中不起作用> dim(FDF3)
[1] 100 7
即使每个拆分也没有完整的行数,我也希望执行拆分,可以说:T = ffdfdply(FDF3, split(FDF3$ID, rep(1:10,each=3)))
我已经在这上面做了至少 20 个小时。
r - 在 R 中重塑 ffdf 数据框
我正在使用dcast
函数来 rshape 中的 datframe R
,但同时使用大型数据框。我将其转换为ffdf dataframe
无法使用的dcast
功能,如果有其他选择,请帮助我。找到我用于小型数据框的以下示例以及我想要做什么ffdf dataframe
:
这是有效的,但是:
这给了我错误请帮助
在此先感谢 pavan kancharala
r - ff 日期向量的重复函数失败
您好我正在尝试使用 ffbase 包的重复函数和以下代码从包含日期的 ff 向量中删除重复项:
但是我收到以下错误:
有没有办法解决这个问题而不必先将 v2 向量强制为 ram 对象?
r - 为ffdf的row.names赋值
我有一个 ff 数据框变量,其名称是在循环的每次迭代中在代码中创建的。我想将此变量的行名设置为 NULL,但是下面的代码不起作用。有人可以提出解决方案吗?
javascript - JS 自定义调整大小功能仅在某些浏览器中使用错误的图像大小
我有一个奇怪的问题。我编写了一个小函数来调整我正在处理的站点上的图像大小,它适用于站点上的每个图像,除了两个位于动态大小的容器中的图像。在 IE10 和 Firefox 中,两者都不一致地使用错误的图像宽度/高度,而是吐出一个奇怪的数字,然后公式会弄乱图像的大小调整。
我正在尝试做的总体情况是这样的:我有一个部分应该是屏幕的整个高度,减去 60px 以说明固定的导航菜单。这两个图像在这个部分内,应该是它的一半高度和宽度(这个部分有四个大小相同的正方形,其中两个包含有问题的图像)。由于该部分的高度是在页面加载时动态计算的(浏览器高度的 100% 减去 60px),我假设有时这个函数在容器的高度被正确计算之前运行,所以图像被奇怪地缩放。
这是我认为所有相关代码的内容:
我的假设是,由于 FourSquareSectionContainer 的高度是动态的(它应该总是比页面的全高小 60px),并且由于 SecondSquareBGImage 和 ThirdSquareBGImage 的高度取决于这个高度(它们都应该是一半FourSquareSectionContainer 的高度和宽度的一半),某种竞争条件正在发生,其中偶尔会为图像使用错误的大小并且它们被过度拉伸。
值得注意的是,这个问题只在 IE10 和 Firefox 中发生(同样,不一致)。Chrome 和 Safari 从来没有这个问题。
这个问题困扰了我一段时间,我不确定正确的解决方案是什么。正如我所说,这个问题非常不一致,只发生在 IE10 中,很少发生在 Firefox 中。任何帮助,将不胜感激!提前致谢!
r - 使用 ff 在 R 中处理大型固定长度文件
我做了一些研究,ff 包似乎有我想要的东西。但是,我不知道如何在我当前的场景中使用它。这是我得到的:
- 我有一个没有行终止符的固定长度文件(一行中的所有数据)
- 记录长度为 1577,有 55 列
- 基于记录长度的文件中的总记录> 900万
你可以想象通过 R 处理这个文件通常会破坏我的 RAM。我将如何去加载这样的文件?
下面是我用来处理能够加载到 RAM 中的较小文件的代码。这会将我的机器冻结在较大的文件上:
conn <- file(fileName,'r')
data <- readChar(conn,rep(widths,TotalRecords))
df <- data.frame(matrix(data,ncol=nFields,byrow=TRUE))
r - 函数 ff:read.csv.ffdf(ff - R 包)中 colClasses 参数的当前状态
由于以下代码vmode 'character' not implemented
中的参数而发生错误:colClasses=c("id"="character")
read.table.ffdf 1..1000 (1000) csv-read=0.02secError in ff(initdata = initdata, length = length, levels = levels, ordered = ordered, :
vmode 'character' 未实现
其中第一列TenGBsample.csv
是“id”,由 30 位数字组成,超过了我的 64 位系统(Windows)上的最大数字,我想将它们作为字符处理,第二列包含小数字,所以不需要调整。
我已经检查过,并且有“字符”模式:http vmode
: //127.0.0.1 :16624/library/ff/html/vmode.html
r - 如何删除(或选择)ff矩阵的指定行或列,或子集ff矩阵?
一个 300,000 行和 1000 列的 ff 矩阵:
我想删除矩阵的最后一行使用命令:
但是,我得到了错误:“can not allocate vector of size 1.1 Gb”,似乎x[-300000,]
不再返回ff对象,而是直接存储在所有的内存中。所以我有两个问题:
- 如何删除矩阵 x in 的第 i 行(或列),然后仍然返回 ff 对象。
- 如何选择第j列等于100(整数)的行或子集,然后仍然返回ff对象。
也许功能ffwhich
和包可以帮助我subset.ff
,ff
但我不明白如何使用它们。
r - (R语言)如何创建空的ff数据框
每个人。
我正在尝试做的事情
在 R 中创建一个空的 ff data.frame。
细节
我想在 R 中读取多个 csv 文件,将它们绑定在一起并创建一个大 data.frame。由于数据非常庞大,我正在使用 ff 包。
这是我的代码。
但是,我收到以下错误。
我在 Google 和 Stackoverflow 中搜索了错误消息,但没有得到有用的结果。有谁知道如何处理这个问题?
更新 (15/2/16)
以下代码有效。
一开始,lappy row是这样的,没用。
关键是写作file=
。似乎ff
函数需要明确指示属性。(参考:使用ff包导入文本文件)
感谢大家!
我的环境
- Windows 7 家庭高级服务包 1
- R工作室0.98.1091
- R 版本 3.1.2 (2014-10-31)