
文章插圖
許多研究人員都對直接從網(wǎng)站獲取新的數(shù)據(jù)很感興趣 。但是從網(wǎng)站上收集大量數(shù)據(jù)可能是不切實際的 。當(dāng)手動收集數(shù)據(jù)后,很容易出現(xiàn)人為錯誤 。當(dāng)自動收集數(shù)據(jù)時時,它可能會違反網(wǎng)站的服務(wù)條款 。
所以,研究人員通常依賴一個被稱為API的工具,該工具代表應(yīng)用程序編程接口 。Web API根據(jù)規(guī)則提供了網(wǎng)站和用戶之間的通信方式 。特別是,它們允許用戶通過從特定網(wǎng)站下的數(shù)據(jù)庫請求數(shù)據(jù),從而快速獲得明確定義的數(shù)據(jù)類型 。(這不是唯一的API 。例如,智能手機(jī)應(yīng)用程序經(jīng)常使用API在你的設(shè)備和應(yīng)用程序的數(shù)據(jù)庫之間來回傳送數(shù)據(jù),但是在這篇文章中,我們關(guān)注的是從網(wǎng)站向用戶提供數(shù)據(jù)的API 。)
許多大公司以及政府機(jī)構(gòu)都創(chuàng)建了公共API 。這些組織的數(shù)據(jù)可以很容易的訪問,以鼓勵開發(fā)人員使用他們的平臺 。在Pew研究中心,作者經(jīng)常使用API為研究收集信息 。常見的有我們在社交媒體中的機(jī)器人、關(guān)于槍支的Google搜索、Facebook上的科學(xué)頁面以及關(guān)于政府政策的公開評論中(都使用了API) 。
API如何提供數(shù)據(jù)
API提供各種形式的數(shù)據(jù),但JSON是其中最受歡迎的 。JSON是用于構(gòu)造數(shù)據(jù)的有用文件格式,因為它保存了與制表符或逗號分隔文件(如.tsv和.csv文件)相關(guān)的更多層次結(jié)構(gòu)和關(guān)于數(shù)據(jù)集的元信息 。根據(jù)你用于數(shù)據(jù)分析時使用的編程語言,有些庫可以使JSON數(shù)據(jù)操作變得直觀 。例如,在R統(tǒng)計語言中,可以使用jsonlite庫將API中的數(shù)據(jù)轉(zhuǎn)換為熟悉的R對象和類 。
API可以用于不同的編程語言
為了在各種用不同語言編寫的計算機(jī)程序(如Java、Python、R等)上有效地與API進(jìn)行交互,研究人員依賴于API”封裝器” 。這些工具(存在于大多數(shù)流行的API中)允許研究人員在使用他們自己選擇的編程語言的同時直接從API請求數(shù)據(jù) 。下面,我們以世界銀行的API為例,使用R訪問數(shù)據(jù) 。
示例:如何與世界銀行的API進(jìn)行交互
世界銀行API為研究人員提供了數(shù)百個關(guān)于世界各國健康、財富和文化的變量 。為了展示如何使用這個API,我們可以編寫一個腳本來獲取一些變量并繪制它們 。在這種情況下,我們將使用世界銀行提供的識別碼搜索變量,然后將變量提取到R的內(nèi)存中 。
下面的代碼使用WDI包,這是一個包含世界銀行API封裝的R包 。(如上所述,封裝器是一個函數(shù)或一組函數(shù),用于執(zhí)行對API的調(diào)用,并將結(jié)果轉(zhuǎn)換為比API本身更有用的內(nèi)容 。)要執(zhí)行此代碼,首先必須安裝WDI軟件包以及devtools、ggplot2、gganimate、data.table和dplyr 。你可以使用以下命令為R安裝這些函數(shù):
我們還將為動畫安裝gganimate附加軟件包:
現(xiàn)在安裝了這些軟件包,讓我們將它們加載到工作內(nèi)存中:
WDI包提供了一種便捷的方式來搜索世界銀行API以尋找可能值得研究變量 。下面,我們在”string”字段之后指定要搜索的單詞,以及查找它的位置”name”字段 。這樣,我們可以看到所有與道路基礎(chǔ)設(shè)施、免疫率和任何其他變量有關(guān)的變量與人均衡量 。
搜索返回變量列表及其相應(yīng)的代碼 ?,F(xiàn)在我們已經(jīng)知道了我們感興趣的變量的代碼,我們可以從API調(diào)用數(shù)據(jù) 。我們用WDI函數(shù)來做到這一點 。在這個函數(shù)調(diào)用中,我們提供了我們想要的國家的參數(shù)、變量代碼、第一年的數(shù)據(jù)、最后一年的數(shù)據(jù)以及可選的”extra”字段集 。”extra”字段集是國家元數(shù)據(jù)——嘗試關(guān)閉此選項,看看會發(fā)生什么 。
以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請您及時就醫(yī)或請專業(yè)人士給予相關(guān)指導(dǎo)!
「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助:- 國內(nèi)外個人免費云服務(wù)器 服務(wù)器購買渠道
- 免費的編程自學(xué)網(wǎng)站 java計算機(jī)編程入門教程
- 簡單的出入庫管理軟件操作 erp生產(chǎn)訂單管理系統(tǒng)
- ?2022微信虎年封面紅包怎么免費領(lǐng)取 2022新年封面紅包免費領(lǐng)取時間表
- 2022微信紅包序列號怎么免費領(lǐng)取 各商家品牌微信紅包封面領(lǐng)取攻略
- 網(wǎng)絡(luò)測速檢查軟件 怎么測試數(shù)據(jù)流量的網(wǎng)速
- java編程就業(yè)方向 java軟件外包方向
- 軟件著作權(quán)費用明細(xì) 計算機(jī)軟件著作權(quán)申請費用
- 67歲上海阿姨在足浴店1年花300萬什么情況?還能免費進(jìn)養(yǎng)老院?
- 免費的有氧運動有哪些
