์ต์ ๋ง์คํฐ๋ก eplusr๋ ๋ค์์ ๋ณด์ฌ์ค๋๋ค: Internal error in between: 'x' is not int, double or int64, should have been caught by now
$ R CMD check eplusr_0.10.2.tar.gz
* using log directory โ/home/mdowle/build/revdeplib/eplusr.Rcheckโ
* using R version 3.6.0 (2019-04-26)
* using platform: x86_64-pc-linux-gnu (64-bit)
* using session charset: UTF-8
* checking for file โeplusr/DESCRIPTIONโ ... OK
* this is package โeplusrโ version โ0.10.2โ
* package encoding: UTF-8
* checking package namespace information ... OK
* checking package dependencies ... OK
* checking if this is a source package ... OK
* checking if there is a namespace ... OK
* checking for executable files ... OK
* checking for hidden files and directories ... OK
* checking for portable file names ... OK
* checking for sufficient/correct file permissions ... OK
* checking whether package โeplusrโ can be installed ... OK
* checking installed package size ... OK
* checking package directory ... OK
* checking โbuildโ directory ... OK
* checking DESCRIPTION meta-information ... OK
* checking top-level files ... OK
* checking for left-over files ... OK
* checking index information ... OK
* checking package subdirectories ... OK
* checking R files for non-ASCII characters ... OK
* checking R files for syntax errors ... OK
* checking whether the package can be loaded ... OK
* checking whether the package can be loaded with stated dependencies ... OK
* checking whether the package can be unloaded cleanly ... OK
* checking whether the namespace can be loaded with stated dependencies ... OK
* checking whether the namespace can be unloaded cleanly ... OK
* checking loading without being on the library search path ... OK
* checking dependencies in R code ... OK
* checking S3 generic/method consistency ... OK
* checking replacement functions ... OK
* checking foreign function calls ... OK
* checking R code for possible problems ... OK
* checking Rd files ... OK
* checking Rd metadata ... OK
* checking Rd cross-references ... OK
* checking for missing documentation entries ... OK
* checking for code/documentation mismatches ... OK
* checking Rd \usage sections ... OK
* checking Rd contents ... OK
* checking for unstated dependencies in examples ... OK
* checking R/sysdata.rda ... OK
* checking installed files from โinst/docโ ... OK
* checking files in โvignettesโ ... OK
* checking examples ... ERROR
Running examples in โeplusr-Ex.Rโ failed
The error most likely occurred in:
> ### Name: is_eplus_ver
> ### Title: Check for Idd, Idf and Epw objects
> ### Aliases: is_eplus_ver is_idd_ver is_eplus_path is_idd is_idf
> ### is_iddobject is_idfobject is_epw
>
> ### ** Examples
>
> is_eplus_ver(8.8)
[1] TRUE
> is_eplus_ver(8.0)
[1] FALSE
> is_eplus_ver("latest", strict = FALSE)
[1] TRUE
>
> is_idd_ver("9.0.1")
[1] TRUE
> is_idd_ver("8.0.1")
[1] FALSE
>
> is_eplus_path("C:/EnergyPlusV9-0-0")
[1] FALSE
> is_eplus_path("/usr/local/EnergyPlus-9-0-1")
[1] FALSE
>
> is_idd(use_idd(8.8, download = "auto"))
[1] TRUE
>
> idf <- read_idf(system.file("extdata/1ZoneUncontrolled.idf", package = "eplusr"),
+ idd = use_idd(8.8, download = "auto"))
> is_idf(idf)
[1] TRUE
>
> is_iddobject(idd_object(8.8, "Version"))
[1] TRUE
>
> is_idfobject(idf_object(idf, 1))
[1] TRUE
>
> is_epw(read_epw(download_weather("los angeles.*tmy3", type = "epw", ask = FALSE, max_match = 1)))
One matched results found. Start downloading:
โโ USA_CA_Los.Angeles.Intl.AP.722950_TMY3 โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
* Country: United States of America
* State or Province: CA
* Location: CA_Los.Angeles.Intl.AP
* WMO number: 722950
* Source type: TMY3
* Longitude: -118.4
* Latitude: 33.93
trying URL 'https://energyplus.net/weather-download/north_and_central_america_wmo_region_4/USA/CA/USA_CA_Los.Angeles.Intl.AP.722950_TMY3/USA_CA_Los.Angeles.Intl.AP.722950_TMY3.epw'
downloaded 1.6 MB
Error in between(x, range$minimum, range$maximum, range$lower_incbounds) :
Internal error in between: 'x' is not int, double or int64, should have been caught by now
Calls: is_epw ... doTryCatch -> assert -> eval -> eval -> in_range -> between
Execution halted
* checking for unstated dependencies in โtestsโ ... OK
* checking tests ...
Running โtestthat.Rโ
ERROR
Running the tests in โtests/testthat.Rโ failed.
Last 13 lines of output:
โโ 1. Error: list checking (@test_assert.R#60) โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Internal error in between: 'x' is not int, double or int64, should have been caught by now
1: expect_true(has_len(1:2, ranger(0))) at testthat/test_assert.R:60
2: quasi_label(enquo(object), label, arg = "object")
3: eval_bare(get_expr(quo), get_env(quo))
4: has_len(1:2, ranger(0))
5: in_range(length(x), len)
6: between(x, range$minimum, range$maximum, range$lower_incbounds)
โโ testthat results โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
OK: 994 SKIPPED: 7 WARNINGS: 0 FAILED: 1
1. Error: list checking (@test_assert.R#60)
Error: testthat unit tests failed
Execution halted
* checking for unstated dependencies in vignettes ... OK
* checking package vignettes in โinst/docโ ... OK
* checking running R code from vignettes ...
โeplusr.Rmdโ using โUTF-8โ ... OK
NONE
* checking re-building of vignette outputs ... WARNING
Error(s) in re-building vignettes:
...
--- re-building โeplusr.Rmdโ using rmarkdown
trying URL 'https://github.com/NREL/EnergyPlus/releases/download/v8.8.0/EnergyPlus-8.8.0-7c3bbe4830-Linux-x86_64.tar.gz'
Content type 'application/octet-stream' length 101420148 bytes (96.7 MB)
==================================================
downloaded 96.7 MB
Quitting from lines 790-793 (eplusr.Rmd)
Error: processing vignette 'eplusr.Rmd' failed with diagnostics:
Internal error in between: 'x' is not int, double or int64, should have been caught by now
--- failed re-building โeplusr.Rmdโ
SUMMARY: processing the following file failed:
โeplusr.Rmdโ
Error: Vignette re-building failed.
Execution halted
* checking PDF version of manual ... OK
* DONE
Status: 2 ERRORs, 1 WARNING
See
โ/home/mdowle/build/revdeplib/eplusr.Rcheck/00check.logโ
for details.
์ฝ๊ฒ ํ
between(1:10, -Inf, Inf)
Error in between(1:10, -Inf, Inf) :
Internal error in between: 'x' is not int, double or int64, should have been caught by now
์ ๋ eplusr ํจํค์ง ๊ฐ๋ฐ์์ ๋๋ค. data.table repo์์ ๋ค๋ฅธ ๋ฌธ์ ์ฃผ์ ๋ฅผ ๊ฒ์ํ๋ ค๊ณ ํ ๋ ๋ฐฉ๊ธ ์ด ๋ฌธ์ ๋ฅผ ๋ณด์์ต๋๋ค.
๋ด ํจํค์ง๋ data.table ํจํค์ง๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. ์ด ์๋ฆฌ๊ฐ ์ ์ ํ์ง ์์ ์๋ ์์ง๋ง ์ฌ์ ํ data.table ํจํค์ง์ ๊น์ ๊ฐ์ฌ์ ๊ฐ์ฌ๋ฅผ ํํ๊ณ data.table์ ๋์ฑ ๋ฐ์ ์ํค๊ธฐ ์ํ ์ฌ๋ฌ๋ถ์ ๋์์๋ ๋ ธ๋ ฅ์ ํํํ๊ณ ์ถ์ต๋๋ค!
@hongyuanjia ์ข์ ๋ง์ ๊ฐ์ฌํฉ๋๋ค. ์ด ์ข๊ฒ๋ data.table์ ๋๋ฌด ๋ง์ด ์ฌ์ฉํ๊ณ ํ ์คํธ๋ฅผ ์ํํ๊ธฐ ๋๋ฌธ์ CRAN์ผ๋ก ๋ฆด๋ฆฌ์คํ๊ธฐ ์ ์ data.table์ ๊ฐ๋ฐ ๋ฒ์ (์ญ ์ข ์์ฑ ๊ฒ์ฌ๋ฅผ ์ํํ ๋)์์ ํ๊ท๋ฅผ ๊ฐ์งํ ์ ์์์ต๋๋ค. ๊ทธ๋ผ ๊ฐ์ฌํฉ๋๋ค!
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@hongyuanjia ์ข์ ๋ง์ ๊ฐ์ฌํฉ๋๋ค. ์ด ์ข๊ฒ๋ data.table์ ๋๋ฌด ๋ง์ด ์ฌ์ฉํ๊ณ ํ ์คํธ๋ฅผ ์ํํ๊ธฐ ๋๋ฌธ์ CRAN์ผ๋ก ๋ฆด๋ฆฌ์คํ๊ธฐ ์ ์ data.table์ ๊ฐ๋ฐ ๋ฒ์ (์ญ ์ข ์์ฑ ๊ฒ์ฌ๋ฅผ ์ํํ ๋)์์ ํ๊ท๋ฅผ ๊ฐ์งํ ์ ์์์ต๋๋ค. ๊ทธ๋ผ ๊ฐ์ฌํฉ๋๋ค!