我需要一些幫助來重新設計R包中函數的輸出。在R中重塑一個數據幀
我的範圍是重塑一個名爲output_IMFData
的數據框,其形狀看起來與output_imfr
的形狀非常相似。 一個MWE再現這些dataframes的代碼是:
library(imfr)
output_imfr <- imf_data(database_id="IFS", indicator="IAD_BP6_USD", country = "", start = 2010, end = 2014, freq = "A", return_raw =FALSE, print_url = T, times = 3)
和output_IMFData
library(IMFData)
databaseID <- "IFS"
startdate <- "2010"
enddate <- "2014"
checkquery <- FALSE
queryfilter <- list(CL_FREA = "A", CL_AREA_IFS = "", CL_INDICATOR_IFS = "IAD_BP6_USD")
output_IMFData <- CompactDataMethod(databaseID, queryfilter, startdate, enddate,
checkquery)
從output_IMFData
輸出看起來是這樣的:
但是,我想重新設計這個數據幀看起來像output_imfr
的輸出:
可悲的是,我沒有那麼高級的用戶,但沒有找到的東西,可以幫助我。在將output_IMFData
的形狀轉換成第二個「面板數據相關」數據框架的形狀中,我的基本問題是我不知道如何處理output_IMFData
中的Obs
,這種方式不會失去與「對應」參考代碼@REF-AREA
output_IMFData
也就是說,在列@REF-AREA
中有國名代碼,Obs
中的列有它們各自的時間序列數據,這是使用面板數據非常麻煩的方式,因此我想將該數據幀重塑爲output_imfr
數據幀的更好形式
對不起 - 我誤解了您最初的代碼,並認爲它是從本地數據庫中調用和/或需要大下載(我以前從未使用過'imfr'包)。看到編輯後的一些代碼應該可以爲你實際工作(請注意,'gather'將**不適用於這些數據) –
太棒了。如果有時間的話它會節省很多這就是我想知道的。 – msh855
Pererson,假設一個有點扭曲,而不是下載一個系列想下載兩個。這種扭曲的MWE將是在'queryfilter'列表中將'CL_INDICATOR_IFS'重新定義爲CL_INDICATOR_IFS = c(「IAD_BP6_USD」,「NGDP_EUR」)。換句話說,信件不僅應以@ REF-AREA爲基礎,而且還應以「@ INDICATOR」爲指標。你能否建議你的代碼應該如何修改? – msh855