【发布时间】:2016-04-14 14:32:56
【问题描述】:
我想这个问题以前没有被问过,我似乎找不到它。
我有一个嵌套的 JSON 文件,我想从中提取某些值。我玩弄了sapply,最后决定使用嵌套的for loop 序列,见下文:
for(Factor in fund$Factors)
{
print(Factor$Name)
for(FactorGroup in Factor$FactorGroups)
{
print(FactorGroup$Name)
for(Model in FactorGroup$Models)
{
print(Model$Name )
for(Position in Model$Positions)
{
print(Position$Symbol)
print(Position$Quantity)
print(Position$Risk)
print(Position$MaxRisk)
print(Position$Daysleft)
}
}
}
}
使用它我可以准确提取我需要的内容,但它是逐行进行的,因此输出如下所示:
[1] "factor 1"
[1] "factor group 1"
[1] "model"
[1] "position 1"
[1] 1
[1] -769.1946
[1] -7433.627
[1] 14
[1] "position 2"
[1] 5
[1] -3724.63
[1] -12062.5
[1] 76
这将持续大约 900 行。我想知道的是它们是否是组织此输出的更好方法。理想情况下,我想将每个完整序列连接成一个向量,然后进入下一个循环。例如,有了这个,我们上面的输出将如下所示:
[1] "factor 1" - "factor group 1" - "model" - "position 1" - 1 - -769.1946 - -7433.627 - 14
[1] "factor 1" - "factor group 1" - "model" - "position 2" - 5 - -3724.63 - -12062.5 - 76
这将迭代直到它遍历整个文件(例如,通过因子 2、因子组等)
谢谢!
【问题讨论】:
-
您需要的是
cat,它不会在您的输出中添加新行。