注意:此问题只能在具有汤森路透数据流登录的情况下复制
我正在尝试使用RDatastream::ds
从汤森路透数据流请求数据,但无法成功请求数据。似乎问题与ds
函数的"user"参数中我的登录凭据的规范有关。
如何正确指定"user"参数以发出请求?
这是我尝试过的一个不成功的请求示例,直接从包文档中复制:
ds(user, c("U:IBM", "U:MMM"), c("P", "PO"), "2012-07-20")
这是后续错误:
Error in apply(records, 2, function(record) { :
dim(X) must have a positive length
到目前为止,我有:
- 尝试遵循包文档,其中指定必须在列表中提供"user"参数中的登录凭据,值为用户名和密码。我在参数中尝试了 2 种规范:
a)user <- list(username= "my username", password="my password")
b)user <- list(username= "DS: my username", password="my password")
尝试使用第二个规范是因为文档示例在用户名的开头追加了'DS:'
。两个用户规范都给出了相同的上述错误。
- 查看了包作者对有相同问题的 R 用户的响应,可在此处找到:https://github.com/fcocquemas/rdatastream/issues/1
也就是说,我尝试将'DS:'
附加到用户名并将用户名中的@
替换为@
。值得注意的是,我的用户名是一个电子邮件包,但作者建议用户名应该是~7个字母数字字符。虽然我希望解决我的问题,向ds
提出请求,而不必尽可能向汤森路透请求替代用户名。
最后,我能够使用汤森路透桌面应用程序和Excel插件成功发出请求,其中我使用与ds
包相同的登录凭据。
这是让请求工作的方法。
当您订阅汤森路透时,您会收到两组用户详细信息。
-
汤森路透EIKON(具有电子邮件用户名ID和密码)
-
DATA STREAM FOR OFFICE(具有非电子邮件、字母数字用户名 ID 和单独的密码)
为了在 RDatastream 库中发出请求,请在RDatastream::DS
的用户参数中使用第二组凭据,将"DS:"附加到用户名的开头。
由于第一组凭据可用于通过汤森路透应用程序及其Excel插件发出数据流请求,因此很容易忽略可以使用另一组登录凭据。