我有json数据看起来像:
{"foo":"one", "bar":2, "baz":[0]}
{"foo":"two", "bar":3, "baz":[1]}
{"foo":"one", "bar":3, "baz":[2,3]}
{"foo":"one", "bar":2, "baz":[2,4]}
Run Code Online (Sandbox Code Playgroud)
我想用相同的"foo"对所有内容进行分组并收集bar的唯一值,然后收集"baz"数组中的唯一值:
[
{"foo":"one", "bar":[2, 3], "baz":[0,2,3,4]},
{"foo":"two", "bar":[3], "baz":[1]}
]
Run Code Online (Sandbox Code Playgroud)
(我不在乎结果是在一个数组中,还是只是一个空格分隔的JSON对象的原始序列,我不关心"baz"数组中项目的顺序)
我从源代码安装了jq 1.4版.我可以通过"foo"正确分组并收集"bar"的唯一值:
jq -s 'group_by(.foo) | map({foo: .[0].foo, bar: map(.bar) | unique})'
Run Code Online (Sandbox Code Playgroud)
收益:
[
{"foo":"one","bar":[2,3]},
{"foo":"two","bar":[3]}
]
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何收集"baz"的独特价值.
我错过了什么?
我正在Rcpp开发一个简单的库来构建Huffman树.它有一个可以从其他包调用的工作R接口,但我也想直接从我正在开发的其他基于Rcpp的包中的C++代码调用C++函数.
我已经想出如何将第一个包的头部放在inst/include目录中,以便它在第二个包中可用.但是,当useDynLib在第二个包的NAMESPACE文件中调用它来加载它调用第一个包中的函数的C++代码时,我得到了一个我想要使用的函数的未定义符号错误.我在第二个包的列出的第一个包DESCRIPTION下的文件Import,Depends和LinkingTo.
这是我第一次尝试使用任何非基于R的包,我正在通过Rstudio的"Build&Reload"命令进行所有开发,并在创建包时使用"Package w/Rcpp"选项来生成初始目录结构体.
我如何知道豆荚当前使用kubectl了多少临时存储?
在Kubernetes pod规范中,我可以指定资源请求以及CPU,内存和临时存储的限制:
resources:
requests:
memory: "60Mi"
cpu: "70m"
ephemeral-storage: "2Gi"
limits:
memory: "65Mi"
cpu: "75m"
ephemeral-storage: "4Gi"
Run Code Online (Sandbox Code Playgroud)
但是,为了对临时存储设置良好的请求和限制,我需要知道此值对于正在运行的Pod实际上是什么,我不知道。我可以使用获得CPU和内存使用率kubectl top pod,但是据我所知,临时存储使用率仅在做出实际驱逐决策时才实际计算得出。
R Shiny网站有一个很好的例子,说明如何根据用户输入更新各种输入类型的标签和值.但是,我找不到按钮的任何内容.具体来说,如何根据用户输入更新按钮的标签?
Mathematica有一种有趣的方法,可以逐步构建一个列表(或多个列表),您可以在复杂计算的各个点计算结果.我想在R里做类似的事情.
在Mathematica中,您可以Sow通过在调用函数时包装整个计算来收集计算期间每个函数调用的每个参数的列表Reap.R是否具有这些功能的等价物?您是否可以使用环境和<<-运营商来模拟它,或者范围规则是否允许它?
编辑:这是一个人为的例子.假设我想生成一个多维数据集的总和,但我还想收集我用来制作多维数据集总和的数字的平方.我知道可能有更多惯用的方法来进行这种精确计算,但它代表了在收集沿途生产的各种物品时获得最终答案.
reap(sum(sapply(1:100, function(i) { sow(squares = i * i); i * i * i }))
Run Code Online (Sandbox Code Playgroud)
我希望这能返回具有多维数据集总和以及包含正方形列表的命名变量"squares"的内容.