Мне нужна помощь в перепроектировании вывода функции, которая поступает через пакет 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
в форму второй «картографической» модели данных, которая заключается в том, что я не знаю, как обрабатывать Obs
в output_IMFData
способом, который не может потерять «соответствие» с помощью Код ссылки @REF-AREA
в output_IMFData
. То есть в колонке @REF-AREA
имеются коды названий стран, а в столбце Obs
приведены соответствующие данные временных рядов. Это очень громоздкий способ работы с данными панели, и поэтому я хочу изменить этот кадр данных на гораздо лучше, форма output_imfr
dataframe.
К сожалению об этом - я не понял ваш исходный код и думал, что он звонил из локальных баз данных и/или требующих больших (я никогда раньше не использовал пакет 'imfr'). См. Отредактированный пост для некоторого кода, который должен действительно работать для вас (обратите внимание, что 'gather' будет ** не ** работать для этих данных) –
Это замечательно. Он сэкономил много времени. Это все, что я хотел знать. – msh855
Персон, предположим, что он делает небольшой поворот, и вместо того, чтобы загружать одну серию, нужно скачать два. MWE для этого поворота будет состоять в том, чтобы переопределить 'CL_INDICATOR_IFS 'как' CL_INDICATOR_IFS = c ("IAD_BP6_USD", "NGDP_EUR") 'в' queryfilter'. Другими словами, соответствие должно основываться не только на @ REF-AREA, но и на индикаторе, то есть '@ INDICATOR'. Можете ли вы предложить, как изменить свой код? – msh855