小编Ude*_* VH的帖子

如何将 Leaflet (for R)-output 包含到 RMarkdown 演示文稿中?

根据文档,使用 R 的“leaflet”包创建的 Leaflet 输出可以包含在 RMarkdown 中。

这在 RMarkdown 输出为 html 时有效:

---
title: "Rmarkdown HTML including Leaflet"
output: html_document
---

Show "Leaflet for R" within html: works.

```{r}
library(leaflet)
leaflet() %>%
  addTiles %>% # Add default OpenStreetMap map tiles
  setView(lng = 5.0, lat = 51.0, zoom = 6)
```
Run Code Online (Sandbox Code Playgroud)

但是当 RMarkdown 输出是演示文稿时失败:

---
title: "Rmarkdown Presentation including Leaflet"
output: 
  revealjs::revealjs_presentation
---

Show "Leaflet for R" within Rmarkdown presentation: fails.

```{r}
library(leaflet)
leaflet() %>%
  addTiles %>% # Add …
Run Code Online (Sandbox Code Playgroud)

r leaflet r-markdown

6
推荐指数
1
解决办法
5678
查看次数

如何在 R 中解压缩 base64 编码的字符串?

目标

目标是在从以 base64 编码和 gzip-ped 格式存储此数据的应用程序导出后使配置和代码可读。

在 Linux-shell 中测试

带有代码的字符串示例

"H4sIAAAAAAAAAIWSS0vEMBSF9/0VIYvubHUnNGlhfIDCwOCMuCyhTeOVTBLzGPTfmzY60yKju+Tc8N1z7o2RQYBqmTESuGthaDuHXJpWTRknzsZfowK0DrSi+Ki4x4qrTPShB8fPu/uIaN3VGVsGB4s49BcnrDKGjsJlwaF5P0sMtxY/swLadBeN/6jda9eBjrxfwrytQvcMjLgI3zLI999FJEuYSGmHpNdp9Gk7xWyQXkilRbL2NXnGdS18twuTvQfsqJkqHU6x0n7KlY5MLX2UjYOyxZqacBFIeDZyxdGettusYiwn+h7X/QadBnadY7oNVaGDS8eoXciZMAyTlckNxh+Vyid//4Qv+y3JeLwIAAA=="
Run Code Online (Sandbox Code Playgroud)

使用以下命令在 Linux shell 中解码和压缩:

echo $1 | base64 -d | gunzip -c
Run Code Online (Sandbox Code Playgroud)

结果是:

plugin_applies_if_config<split>plugin_config=<?xml version="1.0" encoding="UTF-8"?>
<BusinessRule>
  <BusinessPlugin BusinessRulePluginID="JavaScriptBusinessConditionWithBinds">
    <Parameters>
      <Parameter ID="Binds" Type="java.lang.String">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;BindMap/&gt;
</Parameter>
      <Parameter ID="ErrorMessages" Type="java.lang.String"></Parameter>
      <Parameter ID="JavaScript" Type="java.lang.String">return false;</Parameter>
    </Parameters>
  </BusinessPlugin>
</BusinessRule>
<split>
Run Code Online (Sandbox Code Playgroud)

任务完成。...几乎。

转成R脚本

由于我有数百个这样的字符串,因此我想在脚本中执行与 Linux shell 中类似的命令。因为我只知道一些 R,所以我尝试使用 R。我成功地从从应用程序导出的 XML 文档中提取了字符串,并将它们转换为包含列 id、name 和 code 的数据框中。

以下是我尝试逐步重现 Linux 命令的简化示例。

encoded = "H4sIAAAAAAAAAIWSS0vEMBSF9/0VIYvubHUnNGlhfIDCwOCMuCyhTeOVTBLzGPTfmzY60yKju+Tc8N1z7o2RQYBqmTESuGthaDutBhDERcHXJpWTRknzsZfowK0DrSi+Ki4x4qrTPShB8fPu/uIaN3VGVsGB4s49BcnrDKGjsJlwaF5P0sMtxY/swLadBeN/6jda9eBjrxfwrytQvcMjLgI3zLI999FJEuYSGmHpNdp9Gk7xWyQXkilRbL2NXnGdS18twuTvQfsqJkqHU6x0n7KlY5MLX2UjYOyxZqacBFIeDZyxdGettusYiwn+h7X/QadBnadY7oNVaGDS8eoXciZMAyTlckNxh+Vyid//4Qv+y3JeLwIAAA=="

decoded = base64enc::base64decode(what=encoded)
# decoded = openssl::base64_decode(encoded)
# decoded = jsonlite::base64_dec(encoded) …
Run Code Online (Sandbox Code Playgroud)

base64 decode r unzip

6
推荐指数
1
解决办法
1271
查看次数

标签 统计

r ×2

base64 ×1

decode ×1

leaflet ×1

r-markdown ×1

unzip ×1