- R 教程
- R - 首页
- R - 概述
- R - 环境设置
- R - 基本语法
- R - 数据类型
- R - 变量
- R - 运算符
- R - 决策制定
- R - 循环
- R - 函数
- R - 字符串
- R - 向量
- R - 列表
- R - 矩阵
- R - 数组
- R - 因子
- R - 数据框
- R - 包
- R - 数据重塑
R - 网络数据
许多网站提供数据供其用户使用。例如,世界卫生组织 (WHO) 以 CSV、txt 和 XML 文件的形式提供有关健康和医疗信息的报告。使用 R 程序,我们可以以编程方式从这些网站提取特定数据。R 中用于从网络抓取数据的某些包包括 - “RCurl”、“XML”和“stringr”。它们用于连接 URL、识别文件的所需链接并将它们下载到本地环境。
安装 R 包
处理 URL 和文件链接需要以下包。如果您的 R 环境中没有它们,您可以使用以下命令安装它们。
install.packages("RCurl") install.packages("XML") install.packages("stringr") install.packages("plyr")
输入数据
我们将访问 URL 天气数据 并使用 R 下载 2015 年的 CSV 文件。
示例
我们将使用函数 getHTMLLinks() 收集文件的 URL。然后,我们将使用函数 download.file() 将文件保存到本地系统。由于我们将对多个文件重复使用相同的代码,因此我们将创建一个函数以多次调用。文件名以 R 列表对象的形式作为参数传递给此函数。
# Read the URL. url <- "http://www.geos.ed.ac.uk/~weather/jcmb_ws/" # Gather the html links present in the webpage. links <- getHTMLLinks(url) # Identify only the links which point to the JCMB 2015 files. filenames <- links[str_detect(links, "JCMB_2015")] # Store the file names as a list. filenames_list <- as.list(filenames) # Create a function to download the files by passing the URL and filename list. downloadcsv <- function (mainurl,filename) { filedetails <- str_c(mainurl,filename) download.file(filedetails,filename) } # Now apply the l_ply function and save the files into the current R working directory. l_ply(filenames,downloadcsv,mainurl = "http://www.geos.ed.ac.uk/~weather/jcmb_ws/")
验证文件下载
运行上述代码后,您可以在当前 R 工作目录中找到以下文件。
"JCMB_2015.csv" "JCMB_2015_Apr.csv" "JCMB_2015_Feb.csv" "JCMB_2015_Jan.csv" "JCMB_2015_Mar.csv"
广告