मैं मुसीबत की मांग हो रही है चारों ओर gzfiles में आर यहाँ एक उदाहरण है:एक GZ कनेक्शन पर तलाश अप्रत्याशित है
set.seed(123)
m=data.frame(z=runif(10000),x=rnorm(10000))
write.csv(m,"m.csv")
system("gzip m.csv")
file.info("m.csv.gz")$size
[1] 195975
कि m.csv.gz
बनाता है, जो R उस पर प्राप्त कर सकते हैं कहते हैं, और seek
के लिए मदद लगता है इस बात से सहमत करने के लिए:
gzf=gzfile("m.csv.gz")
open(gzf,"rb")
isSeekable(gzf)
[1] TRUE
अब छोटे जंप, आगे और पीछे, काम करने के लिए लग रहे हैं, लेकिन अगर मैं एक बड़ी छलांग की कोशिश, मैं कोई त्रुटि मिलती है:
seek(gzf,10)
[1] 10
seek(gzf,20)
[1] 10
seek(gzf,10)
[1] 20
seek(gzf,1000)
[1] 100
Warning message:
In seek.connection(gzf, 1000) :
seek on a gzfile connection returned an internal error
'का उपयोग ":
for(i in seq(100,1000,by=100)){seek(gzf,i)}
seek(gzf,NA)
[1] 1000
आर Windows में seek
के प्रयोग पर कुछ कठोर शब्द है:
लेकिन अगर मैं कनेक्शन रीसेट और फिर से शुरू, मैं 1000 तक अगर मैं 100-बाइट चरणों में कर प्राप्त कर सकते हैं विंडोज़ पर तलाश 'निराश है। " लेकिन यह एक लिनक्स बॉक्स पर है (आर 3.1.1, 32 बिट)। gz
लाइब्रेरी का उपयोग कर पाइथन में इसी तरह का कोड ठीक काम करता है, पूरी तरह से खोज रहा है।
आर 3.2.0 थोड़ा अधिक जानकारीपूर्ण है:
Warning messages:
1: In seek.connection(gzf, 1000) : invalid or incomplete compressed data
2: In seek.connection(gzf, 1000) :
seek on a gzfile connection returned an internal error
विचार? मैंने इसे अब एक बग रिपोर्ट के रूप में सबमिट कर दिया है।