RJSDMX 패키지를 사용하여 유럽 중앙 은행 (European Central Bank) 다운로드에서 반환 된 목록 요소에 액세스하는 방법에 대한 정보를 찾거나 이해하는 데 문제가 있습니다. 모든 유럽 국가의 시계열을 다운로드 중이며 각 시리즈의 하나의 동물원 객체에 이러한 데이터 세트를 병합하는 작업을 자동화해야합니다. 내가 사용하는 다운로드 및 반환 된 데이터의 구조의 일반적인 아이디어에 대한 코드는 다음과 같습니다RJSDMX에서 반환 된 목록 목록에서 동물원 개체에 액세스 ECB 데이터 다운로드
require(RJSDMX)
total_loans_m <- getSDMX('ECB','BSI.M.BE|BG|CZ|DK|DE|EE|IE|EL|ES|FR|HR|IT|CY|LV|LT|LU|HU|MT|NL|AT|PL|PT|RO|SI|FI|SE|UK|IS|NO|CH|ME|MK|RS|TR|BA.N.A.A20.A.1.U2.1000.Z01.E')
> class(total_loans_m)
[1] "list"
>str(total_loans_m[1])
List of 1
$ BSI.M.AT.N.A.A20.A.1.U2.1000.Z01.E:‘zooreg’ series from Sep 1997 to Aug 2014
Data: atomic [1:204] 83066 81829 82413 81271 83366 ...
..- attr(*, "STATUS")= chr [1:204] "A" "A" "A" "A" ...
..- attr(*, "FREQ")= chr "M"
..- attr(*, "REF_AREA")= chr "AT"
..- attr(*, "ADJUSTMENT")= chr "N"
..- attr(*, "BS_REP_SECTOR")= chr "A"
..- attr(*, "BS_ITEM")= chr "A20"
..- attr(*, "MATURITY_ORIG")= chr "A"
..- attr(*, "DATA_TYPE")= chr "1"
..- attr(*, "COUNT_AREA")= chr "U2"
..- attr(*, "BS_COUNT_SECTOR")= chr "1000"
..- attr(*, "CURRENCY_TRANS")= chr "Z01"
..- attr(*, "BS_SUFFIX")= chr "E"
..- attr(*, "DECIMALS")= chr "'0'"
..- attr(*, "UNIT")= chr "'EUR'"
..- attr(*, "UNIT_MULT")= chr "'6'"
..- attr(*, "COLLECTION")= chr "'E'"
..- attr(*, "TITLE_COMPL")= chr "'Austria, Outstanding amounts at the end of the period (stocks), MFIs excluding ESCB reporting sector - Loans, Total maturity, "| __truncated__
Index: Class 'yearmon' num [1:204] 1998 1998 1998 1998 1998 ...
Frequency: 12
> names(total_loans_m)
[1] "BSI.M.AT.N.A.A20.A.1.U2.1000.Z01.E"
[2] "BSI.M.BE.N.A.A20.A.1.U2.1000.Z01.E"
[3] "BSI.M.BG.N.A.A20.A.1.U2.1000.Z01.E"
[4] "BSI.M.CY.N.A.A20.A.1.U2.1000.Z01.E"
[5] "BSI.M.CZ.N.A.A20.A.1.U2.1000.Z01.E"
[6] "BSI.M.DE.N.A.A20.A.1.U2.1000.Z01.E"
[7] "BSI.M.EE.N.A.A20.A.1.U2.1000.Z01.E"
[8] "BSI.M.ES.N.A.A20.A.1.U2.1000.Z01.E"
[9] "BSI.M.FI.N.A.A20.A.1.U2.1000.Z01.E"
[10] "BSI.M.FR.N.A.A20.A.1.U2.1000.Z01.E"
[11] "BSI.M.HR.N.A.A20.A.1.U2.1000.Z01.E"
[12] "BSI.M.HU.N.A.A20.A.1.U2.1000.Z01.E"
[13] "BSI.M.IE.N.A.A20.A.1.U2.1000.Z01.E"
[14] "BSI.M.IT.N.A.A20.A.1.U2.1000.Z01.E"
[15] "BSI.M.LT.N.A.A20.A.1.U2.1000.Z01.E"
[16] "BSI.M.LU.N.A.A20.A.1.U2.1000.Z01.E"
[17] "BSI.M.LV.N.A.A20.A.1.U2.1000.Z01.E"
[18] "BSI.M.MT.N.A.A20.A.1.U2.1000.Z01.E"
[19] "BSI.M.NL.N.A.A20.A.1.U2.1000.Z01.E"
[20] "BSI.M.PL.N.A.A20.A.1.U2.1000.Z01.E"
[21] "BSI.M.PT.N.A.A20.A.1.U2.1000.Z01.E"
[22] "BSI.M.RO.N.A.A20.A.1.U2.1000.Z01.E"
[23] "BSI.M.SE.N.A.A20.A.1.U2.1000.Z01.E"
[24] "BSI.M.SI.N.A.A20.A.1.U2.1000.Z01.E"
그래서이의 RJSDMX은 각각 동물원 객체를 갖는, 24 개 목록 목록 (각 국가의 하나)를 반환 names()
호출에 표시된 긴 문자열로 표시됩니다. 예를 들어 total_loans_m$BSI.M.AT.N.A.A20.A.1.U2.1000.Z01.E
과 같이 호출하여 동물원 개체에 액세스 할 수 있지만 긴 문자열 대신 국가 이름별로 각 열의 이름을 바꾸려면 목록에서 해당 요소를 호출하는 방법에 대한 정보를 찾을 수 없습니다. for
루프가 일종의 24 개의리스트를 호출하고 'zooreg'시리즈에 액세스하여 다른 24 개국과 병합하고 "REF_AREA"국가 코드를 컬럼 이름으로 추가하기를 원했습니다. zooreg 객체. 누구든지 각각의 요소가 저장되는 방법을 결정하는 방법을 설명 할 수 있습니다. 목록 내의 복잡한 목록이나 정보에 액세스하는 방법에 대한 정보를 찾을 수 없거나 적절한 용어를 모릅니다. 올바른 검색. 감사.
목록에서 어떤 목록을 참조하는지 알 수 없습니다. 'total_loans_m '은 24 개의 요소를 포함하는 목록입니다. 이 요소들 각각은'zoo' 객체입니다 (다른리스트는 아닙니다). 당신이 찾고있는리스트, 시리즈의 가치, 이름, ...에 있어야 할 것은 무엇입니까? – javlacalle
안녕하세요 [user3701213] (http://stackoverflow.com/users/3701213/user3701213), SDMX 문서, 데이터 또는 다른 문서 유형 (예 : 코드 목록/데이터 구조)을 읽어야하는 경우 rsdmx 패키지를 사용해 볼 수도 있습니다. [CRAN] (http://cran.r-project.org/web/packages/rsdmx/)에서 볼 수 있습니다. 또한 [rsdmx documentation] (https://github.com/opensdmx/rsdmx/wiki)에서 ECB를 비롯한 여러 데이터 소스에 대한 예제를 확인할 수 있습니다. 차이점은''data.frame''으로 데이터 셋 전체를 읽을 수 있다는 것입니다. 일부 속성 (예 : 국가의 경우와 같이 하나의 열에서 처리됨) 희망이 도움이 – eblondel