Access a URL and read Data with R

后端 未结 5 1307
醉酒成梦
醉酒成梦 2020-11-27 02:54

Is there a way I can specify and get data from a web site URL on to a CSV file for analysis using R?

5条回答
  •  醉酒成梦
    2020-11-27 03:44

    In the simplest case, just do

    X <- read.csv(url("http://some.where.net/data/foo.csv"))
    

    plus which ever options read.csv() may need.

    Edit in Sep 2020 or 9 years later:

    For a few years now R also supports directly passing the URL to read.csv:

    X <- read.csv("http://some.where.net/data/foo.csv")
    

    End of 2020 edit. Original post continutes.

    Long answer: Yes this can be done and many packages have use that feature for years. E.g. the tseries packages uses exactly this feature to download stock prices from Yahoo! for almost a decade:

    R> library(tseries)
    Loading required package: quadprog
    Loading required package: zoo
    
        ‘tseries’ version: 0.10-24
    
        ‘tseries’ is a package for time series analysis and computational finance.
    
        See ‘library(help="tseries")’ for details.
    
    R> get.hist.quote("IBM")
    trying URL 'http://chart.yahoo.com/table.csv?    ## manual linebreak here
      s=IBM&a=0&b=02&c=1991&d=5&e=08&f=2011&g=d&q=q&y=0&z=IBM&x=.csv'
    Content type 'text/csv' length unknown
    opened URL
    .......... .......... .......... .......... ..........
    .......... .......... .......... .......... ..........
    .......... .......... .......... .......... ..........
    .......... .......... .......... .......... ..........
    .......... .......... .......... .......... ..........
    ........
    downloaded 258 Kb
    
                 Open   High    Low  Close
    1991-01-02 112.87 113.75 112.12 112.12
    1991-01-03 112.37 113.87 112.25 112.50
    1991-01-04 112.75 113.00 111.87 112.12
    1991-01-07 111.37 111.87 110.00 110.25
    1991-01-08 110.37 110.37 108.75 109.00
    1991-01-09 109.75 110.75 106.75 106.87
    [...]
    

    This is all exceedingly well documented in the manual pages for help(connection) and help(url). Also see the manul on 'Data Import/Export' that came with R.

提交回复
热议问题