r - 使用 tabplot 包时此错误 "Error in if (any(B < 1)) stop("B 太小")"的含义是什么

标签 r ff

我找到了用于可视化大型数据库的 tabplot 包。我使用下面的代码运行它,但在不同的数据帧上出现此错误:

"Error in if (any(B < 1)) stop("B too small") : 
  missing value where TRUE/FALSE needed
In addition: Warning message:
In bbatch(n, as.integer(BATCHBYTES/theobytes)) : NAs introduced by coercion"

下面是一个例子:
dat <- read.table(text = " birds    wolfs     snakes
                     3        9         7
                     3        8         4
                     1        2         8
                     1        2         3
                     1        8         3
                     6        1         2
                     6        7         1
                     6        1         5
                     5        9         7
                     3        8         7
                     4        2         7
                     1        2         3
                     7        6         3
                     6        1         1
                     6        3         9
                     6        1         1   ",header = TRUE)
install.packages("tabplot")
package ‘ff’ successfully unpacked and MD5 sums checked
package ‘bit’ successfully unpacked and MD5 sums checked
package ‘fastmatch’ successfully unpacked and MD5 sums checked
package ‘ffbase’ successfully unpacked and MD5 sums checked
package ‘tabplot’ successfully unpacked and MD5 sums checked
library("tabplot", lib.loc="~/R/win-library/3.1")
 tab <- tableplot(dat, plot = FALSE) ## The tabplot  command
Error in if (any(B < 1)) stop("B too small") : 
  missing value where TRUE/FALSE needed
In addition: Warning message:
In bbatch(n, as.integer(BATCHBYTES/theobytes)) : NAs introduced by coercion

任何想法如何克服这个问题?

更新 - 我使用另一台计算机,它工作正常。两台计算机都在 Windows 64 位上,但在我让它工作的计算机上,操作系统是 Win7 pro,在有错误的计算机上,操作系统是 WIN SERVER 2013

最佳答案

根据 schuemie 的评论,此错误与 ffdfdlpy 所需的内存量有关,并且可以通过每个 session 运行来修复
options(ffmaxbytes = min(getOption("ffmaxbytes"),.Machine$integer.max * 12))
将允许这个工作。

我可以通过 sessionInfo() 确认这有效:
R version 3.2.4 (2016-03-10) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 7 x64 (build 7601) Service Pack 1

关于r - 使用 tabplot 包时此错误 "Error in if (any(B < 1)) stop("B 太小")"的含义是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30027316/

相关文章:

r - 向ggplot中的每个矩形添加相同的渐变

r - 禁止发出任何特定警告消息

r - 如何按日期在 R 中对大型数据框 (ffdf) 进行子集化?

在 R 中将大型数据框从宽变为长

r - 如何列绑定(bind)两个ffdf

r - 在R中将值从函数绑定(bind)到全局环境

r - 比较两个数据集并找出通用名称

r - 如果并集,则对文本进行分组

r - 在 R 中子集 fdf 对象

r - R : how to move data from one drive to another, 中的 ff 包并更改文件名