TGViewer
Запасник экономиста Запасник экономиста @econbox · 1.23K subscribers
Post #119 729
Пересобираем ОЭСР

На следующей неделе старый сайт с данными ОЭСР перестает работать, вся статистика переползает на новый портал. Есть очень удобный excel-файл с переходной таблицей между старыми и новыми рядами. Для пользователей R на основе этого файла подготовил пару функций, позволяющих:

(а) искать в нем нужный код

OecdCode = function(search_phrase) {
require("data.table")
require("openxlsx")
url <- "https://gitlab.com/sis-cc/topologies/oecd-migration/-/raw/main/OECDDatasetsCorrespondence.xlsx"
corresp <- openxlsx::read.xlsx(url)
names(corresp) <- corresp[8,]
corresp <- corresp[-c(1:8),-c(8:9)]
row.names(corresp) <- c()
CODES1 <- corresp[tolower(corresp$`OECD.Stat Dataset name (EN)`) %like% tolower(search_phrase), c(1:2,5)]
CODES2 <- corresp[tolower(corresp$`OECD Data Explorer dataset name (EN)`) %like% tolower(search_phrase), c(1:2,5)]
CODES <- rbind(CODES1, CODES2)
CODES <- CODES[duplicated(CODES$`OECD.Stat Dataset code`)==F,]
}


(б) загружать по найденному коду полный ряд

OecdBulk = function(code) {
require("data.table")
require("openxlsx")
require("glue")
url <- "https://gitlab.com/sis-cc/topologies/oecd-migration/-/raw/main/OECDDatasetsCorrespondence.xlsx"
corresp <- openxlsx::read.xlsx(url)
names(corresp) <- corresp[8,]
corresp <- corresp[-c(1:8),-c(8:9)]
row.names(corresp) <- c()

rw <- which(corresp[,1] == code)
link <- corresp[rw,"OECD Data Explorer link"]
pos1 <- as.numeric(gregexpr(pattern = '\\[ag]=',link))
pos2 <- as.numeric(gregexpr(pattern = '\\[id]=',link))
AG <- substr(link,pos1+5,nchar(link))
ID <- substr(link,pos2+5,pos1-4)
link_dwnl <- glue::glue("https://sdmx.oecd.org/public/rest/data/{AG},{ID},/all?dimensionAtObservation=AllDimensions&format=csvfilewithlabels")
DATA <- data.table::fread(link_dwnl)
}


Пример использования:
CODE <- OecdCode("gdp") # таблица с кодами по запросу "gdp"
DATA <- OecdBulk("PDB_GR") # данные по выбранному коду из таблицы
  • 👍 8
More from @econbox
  1. Sep 25, 2026Летний список Три базы данных, о которых я узнал этим летом. 1️⃣ CEPII IntenSE (Intensity…
  2. Sep 18, 2026Потребление капитала Важный шаг на пути включения межстрановых потоков капитала в междунар…
  3. Sep 17, 2026Посещение по талонам ‘Индекс напряженности вокруг Тайваня’ = ‘Number of Visitor Arrivals (…
  4. Sep 16, 2026ИИ как коуч Новый препринт о том, как влияет использование ИИ на эффективность работы — эк…
  5. Sep 2, 2026Осуждение острова Чеховский «Остров Сахалин» безупречен по стилю, и это ожидаемо, но он та…
  6. Aug 27, 2026Косячок от ВБ Всемирный банк в июле обновил свои индикаторы, но некоторые вещи сделаны стр…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →