这个错误是什么意思“使用tabplot包时if(any(B <1))停止(”B太小“)错误

时间:2015-05-04 09:59:12

标签: 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的错误

2 个答案:

答案 0 :(得分:2)

根据schuemie的评论,此错误与ffdfdlpy所需的内存量有关,可以通过每会话运行来修复

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

答案 1 :(得分:1)

问题在于var type = 'my_type,my_other_type,my_third_type'; elasticSearchClient.search('my_index_name', type, qryObj) .on('data', function(data) { console.log(JSON.parse(data)) }) .exec(); 命令。无论你做什么,都会导致bbatch(n, as.integer(BATCHBYTES/theobytes))在需要整数时被引入。 NA给出了any(NA < 1)。这会导致NA命令无法确定您的值是if()还是TRUE

FALSE

我的猜测(并且在没有进一步测试的情况下完全猜测这个阶段)是尝试将if ( NA ) stop("This is silly") # Error in if (NA) stop("This is silly") : # missing value where TRUE/FALSE needed 添加到stringsAsFactors=FALSE命令中。