[Rd] scan(..., skip=1e11): infinite loop; cannot interrupt
Spencer Graves
@pencer@gr@ve@ @end|ng |rom prod@y@e@com
Sat Feb 11 06:38:55 CET 2023
Hello, All:
I have a 4.54 GB file that I'm trying to read in chunks using
"scan(..., skip=__)". It works as expected for small values of "skip"
but goes into an infinite loop for "skip=1e11" and similar large values
of skip: I cannot even interrupt it; I must kill R. Below please find
sessionInfo() with a toy example.
My real problem is a large corrupted Thunderbird email file. It's
file type "Mork", which is mostly standard characters with "\n" between
records of varying length.
Is there some other function in R that allows me to read chunks of a
large file like this?
Thanks,
Spencer Graves
writeLines(as.character(1:11), 'tstNums.txt')
(Tst2 <- scan('tstNums.txt', n=12, skip=5))
# works: 6 7 8 9 10 11
(Tst13 <- scan('tstNums.txt', n=12, skip=13))
# works: numeric(0)
(tst1e11 <- scan('tst.txt', n=12, skip=1e11))
# Goes into an infinite loop that I cannot even interrupt.
# I must kill R and start over.
sessionInfo()
R version 4.2.2 (2022-10-31)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS Big Sur 11.7.3
Matrix products: default
LAPACK:
/Library/Frameworks/R.framework/Versions/4.2/Resources/lib/libRlapack.dylib
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] compiler_4.2.2 fastmap_1.1.0 cli_3.6.0 htmltools_0.5.4
[5] tools_4.2.2 rstudioapi_0.14 yaml_2.3.6 rmarkdown_2.20
[9] knitr_1.41 xfun_0.36 digest_0.6.31 rlang_1.0.6
[13] evaluate_0.20
More information about the R-devel
mailing list