【问题标题】:Unable to install package RCurl无法安装包 RCurl
【发布时间】:2016-05-27 07:35:50
【问题描述】:

我对 R 中的 weatherData 包有一些问题。因为我正在使用此代码:

a <- read.csv(url("http://www.wunderground.com/history/airport/sfo/2016/1/1/CustomHistory.html?dayend=27&monthend=5&yearend=2016&req_city=NA&req_state=NA&req_statename=NA&format=1"), 
                  method ="libcurl")

我收到此错误:

Error in read.table(file = file, header = header, sep = sep, quote = quote,  : 
  unused argument (method = "libcurl")

经过一番搜索,我知道这可能是由于我的 R 版本 3.2.1 中没有安装 RCurl 包。但是当我开始安装RCurl 时,我得到了这个:

Cannot find curl-config
ERROR: configuration failed for package ‘RCurl’
* removing ‘/home/dell/R/x86_64-pc-linux-gnu-library/3.2/RCurl’
Warning in install.packages :
  installation of package ‘RCurl’ had non-zero exit status

我使用的是 Ubuntu 14.04。 谁能帮帮我?

【问题讨论】:

  • 您不需要这样做。只需将read.csv() 与url 一起使用,同时删除对url() 的调用。所以试试read.csv("http://...")
  • 仍然出现同样的错误! @RichardScriven
  • 它适用于我在 R 3.3.0 上并使用 read.csv("https://www.wunderground.com/history/airport/sfo/2016/1/1/CustomHistory.html?dayend=27&amp;monthend=5&amp;yearend=2016&amp;req_city=NA&amp;req_state=NA&amp;req_statename=NA&amp;format=1")
  • 哦...我的 R 版本是 3.2.2。您认为这可能是问题所在吗?
  • 哦,你能告诉我有关 RCurl 包的信息吗?它没有安装。 @RichardScriven

标签: r ubuntu-14.04 packages rcurl install.packages


【解决方案1】:

使用普通旧curl 的更简单方法,因为url 内容不是csv,而是实际上html,然后清理html,然后将其加载到R:

$ curl 'https://www.wunderground.com/history/airport/sfo/2016/1/1/CustomHistory.html?dayend=27&monthend=5&yearend=2016&req_city=NA&req_state=NA&req_statename=NA&format=1' \ 
        > data.html

内容有尾随 &lt;br &gt; 标记

$ head -n 3 data.html 

PDT,Max TemperatureC,Mean TemperatureC,Min TemperatureC,DewPointC,MeanDew PointC,Min DewpointC,Max Humidity, Mean Humidity, Min Humidity, Max Sea Level PressurehPa, Mean Sea Level PressurehPa, Min Sea Level PressurehPa, Max VisibilityKm, Mean VisibilityKm, Min VisibilitykM, Max Wind SpeedKm/h, Mean Wind SpeedKm/h, Max Gust SpeedKm/h,Precipitationmm, CloudCover, Events,WindDirDegrees<br />

2016-1-1,9,6,3,0,-3,-6,76,57,38,1023,1021,1020,16,16,16,27,14,32,0.00,3,,90<br />

让我们消除此标记并将其转换为 csv。

$ cat data.html | perl -lpe 's|<br.*$||;' > data.csv

现在像往常一样在 R 中加载它

$ R

d <- read.csv('data.csv')

colnames(d)

 [1] "PDT"                        "Max.TemperatureC"          
 [3] "Mean.TemperatureC"          "Min.TemperatureC"          
 [5] "Dew.PointC"                 "MeanDew.PointC"            
 [7] "Min.DewpointC"              "Max.Humidity"              
 [9] "Mean.Humidity"              "Min.Humidity"              
 [11] "Max.Sea.Level.PressurehPa"  "Mean.Sea.Level.PressurehPa"
 [13] "Min.Sea.Level.PressurehPa"  "Max.VisibilityKm"          
 [15] "Mean.VisibilityKm"          "Min.VisibilitykM"          
 [17] "Max.Wind.SpeedKm.h"         "Mean.Wind.SpeedKm.h"       
 [19] "Max.Gust.SpeedKm.h"         "Precipitationmm"           
 [21] "CloudCover"                 "Events"                    
 [23] "WindDirDegrees"       

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-28
    • 2019-04-15
    • 2015-09-09
    相关资源
    最近更新 更多