W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
許多網(wǎng)站提供數(shù)據(jù)供其用戶使用。 例如,世界衛(wèi)生組織(WHO)以CSV,txt和XML文件的形式提供健康和醫(yī)療信息的報告。 使用R語言程序,我們可以從這些網(wǎng)站以編程方式提取特定數(shù)據(jù)。 R語言中用于從網(wǎng)站中提取數(shù)據(jù)的一些包是“RCurl”,XML“和”stringr“,它們用于連接到URL,識別文件所需的鏈接并將它們下載到本地環(huán)境。
處理URL和鏈接到文件需要以下的包。 如果它們在R語言環(huán)境中不可用,您可以使用以下命令安裝它們。
install.packages("RCurl") install.packages("XML") install.packages("stringr") install.packages("plyr")
我們將訪問URL天氣數(shù)據(jù),并使用R在2015年下載CSV文件。
我們將使用函數(shù)getHTMLLinks()來收集文件的URL。 然后我們將使用函數(shù)downlaod.file()將文件保存到本地系統(tǒng)。 由于我們將對多個文件一次又一次地應(yīng)用相同的代碼,因此我們將創(chuàng)建一個被多次調(diào)用的函數(shù)。 文件名作為參數(shù)以R列表對象的形式傳遞到此函數(shù)。
# 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/")
運行上述代碼后,您可以在當(dāng)前R語言工作目錄中找到以下文件。
"JCMB_2015.csv" "JCMB_2015_Apr.csv" "JCMB_2015_Feb.csv" "JCMB_2015_Jan.csv" "JCMB_2015_Mar.csv"
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: