【问题标题】:R + download.file warning doesn't make sense to meR + download.file 警告对我来说没有意义
【发布时间】:2015-02-14 01:27:24
【问题描述】:

我不明白警告信息:

警告信息: 在 download.file(url, temp, quiet = TRUE, mode = "wb") : 下载长度 2533 != 报告长度 2533

如果数字不同,我可以理解。重现代码:

url <- "http://www.waterqualitydata.us/Result/search?siteid=USGS-01594440&pCode=01075&countrycode=US&mimeType=tsv&zip=yes"
temp <- tempfile()
download.file(url,temp, quiet=TRUE, mode='wb')
doc <- unzip(temp)
unlink(temp)
retval <- read.delim(doc , header = TRUE, quote="\"", 
                  dec=".", sep='\t', 
                  fill = TRUE)

我可以取消警告,但我想确保我也没有做错任何事情。谢谢!

edit:添加了 read.delim 部分以获取数据框。我的平台是 x86_64-w64-mingw32/x64(64 位),使用 R 版本 3.1.2 (2014-10-31)。

【问题讨论】:

  • 是的,对不起,我应该添加 sessionInfo(我假设它会在 cmets 中变得狭窄)。我正在使用平台:x86_64-w64-mingw32/x64(64 位),R 版本为 3.1.2(2014-10-31)。
  • 当我昨天从 CRAN 下载一个包时,我也在一台带有 R 3.1.2 的 Windows 7 机器上收到了完全相同的错误消息。听起来像南瓜头盔中的错误
  • 无法在具有相同 R 版本的 Linux 上重现。
  • 奇怪,我在 Win8.1Pro 上使用平台:x86_64-w64-mingw32(64 位控制台)和 R 3.12 工作正常。
  • 你在代理服务器后面吗?

标签: r


【解决方案1】:

我也在平台:x86_64-w64-mingw32/x64 (64-bit),在 R 3.1.3 下没有这个问题。我得到 retval 返回 62 个变量的 65 个 obs。

user3915170,只是重申其他人在上面所说的话。

  1. 首先尝试按照@Stedy 的建议从南瓜头盔升级R version

    如果问题仍然存在,请告诉我们。

  2. 检查sep上的引号。我注意到您将它们作为单而不是双。 (它对我有用,就像你拥有它们一样,但可能是 R3.1.2 上的一个问题)

    retval <- read.delim(doc, header = TRUE, quote="\"", 
                     dec = ".", sep = "\t", 
                     fill = TRUE)
    

    read.delim 只是带​​有设置默认值的read.table 的一个特例——从帮助“默认值到分隔符的制表符”。所以这个sep 设置是不必要的,可能是美中不足。因此,在没有 sep 运算符的情况下也尝试一下,看看是否收到警告。

  3. 以前在 Stack Overflow 上也出现过类似的情况,但有一个更广泛的不匹配 - 只返回 200 个字节

    您正在使用mode='wb',它修复了https://stackoverflow.com/a/13803331/4606130。不理解类型是 Konrad 建议的,其评论在评论列表的下方丢失。

    但是issue 16761056 那里有其他人建议检查网络连接,或者 download.file 函数有问题。您是否尝试过从其他位置运行代码?所有的远射,但至少你并不孤单这些警告信息!

祝你好运,希望升级解决这个问题!

M

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多