通过电子邮件或其他安全方法发送/共享敏感的R slidify演示文稿

时间:2013-09-12 09:42:52

标签: r dropbox knitr shiny slidify

我想向其他人发送使用Rslidfy创建的演示文稿,但它包含敏感信息,因此请使用{{github pages将其放入gh-pages 1}}分支然后发送URL实际上不是一个选项,因为所有github页面都是公共的,如建议here

将它推向闪亮的闪亮服务器似乎也有点不安全......(我理想的是喜欢免费这样做,所以设置一台服务器来托管一个演示文稿似乎有点麻烦,对我的目的来说太过分了)

我认为dropbox不会起作用,因为如果其他人将其输入到地址栏中而产生的任何URL链接,可能会下载它并查看敏感信息......

是否有一种方法可以发送包含所有必要文件的演示文稿(通过电子邮件或其他方法),以便不使用R的人可以打开它并轻松查看。 (即无需向他们发送所有文件的zip文件(即assetslibrariesfigure文件夹等),要求他们解压缩然后打开{{1文件)?

修改

我忘了提及演示文稿也包括nvd3和morrisjs图表,这使得很难一次性带来所有文件...

EDIT2

鉴于所有使用的库都是公共库,有没有办法引用URL而不是本地驱动器?

3 个答案:

答案 0 :(得分:7)

以下是Slidify的使用方法。有两种技巧可供使用。

  1. 在YAML前端指定mode: standalone。这可以确保所有与幻灯片相关的JS和CSS资产都是通过在线CDN提供的,并且所有静态图像都会转换为数据URL。

  2. 在knitr代码块中打印图表时使用n1$print('mychart', include_assets = TRUE, cdn = TRUE)。这可确保所有图表相关资产都包含在在线CDN中并提供服务。请注意,对于每个库,您应该只使用include_assets一次,这样就不会重复。

  3. 由于您在单个文件中链接到多个JS库,因此这种方法不是很强大,因此可能会发生冲突。例如,由于Google IO2012使用requireJS并因某种原因引发冲突,因此MorrisJS与Google IO2012的效果不佳。

  4. 您还可以在RStudio演示文稿中使用相同的代码块,并将它们另存为独立的HTML。以下是RPres format中的相同演示文稿。

    ---
    title       : Standalone Presentation with Slidify
    author      : Ramnath Vaidyanathan
    mode        : standalone
    ---
    
    ## Plain Text
    
    This is a slide with plain text
    
    > 1. Point 1
    > 2. Point 2
    > 3. Point 3
    
    ---
    
    ## R Plot
    
    ```{r message = F}
    require(ggplot2)
    qplot(wt, mpg, data = mtcars)
    ```
    
    
    ---
    
    ## NVD3 Plot
    
    ```{r results = 'asis', comment = NA, message = F, echo = F}
    require(rCharts)
    n1 <- nPlot(mpg ~ wt, data = mtcars, type = 'scatterChart', group = 'gear')
    n1$print('chart2', include_assets = TRUE, cdn = TRUE)
    ```
    
    <style>
    .rChart {
      height: 500px;
    }
    </style>
    
    
    --- 
    
    ## Another NVD3 Plot
    
    ```{r results = 'asis', comment = NA, message = F, echo = F}
    require(rCharts)
    n2 <- nPlot(mpg ~ cyl, data = mtcars, type = 'scatterChart')
    n2$print('chart3')
    ```
    

答案 1 :(得分:2)

另一种选择是

1) Open the HTML file in Chrome, 
2) Choose the option to print 
3) Save it as .pdf. 

它并非适用于所有情况,但绝对是一个不错的选择。

答案 2 :(得分:1)

我认为你最后一种方法是最安全的。

你真的想用滑动吗?使用Rstudio的最新(预览)版本,您可以即时创建HTML5 presentations。它比滑动容易得多。要分发幻灯片,您只需邮寄独立的输出html文件(如果您不使用像nvd3或latex这样的花哨的东西)。 这是一些更多的信息。 link1 link2 link3