1.简介

通常在R中从来进行分析和展现的数据都是以基本的格式保存的,如.csv或者.Rdata,然后使用.Rmd文件来进行分析的呈现。通过这个方式,分析师不仅可以呈现他们的统计分析的结果,还可以直接生成pdf和html文件,节省了大量的时间。但是,当你想要给其他人参阅你的文档的时候,你就需要编译.Rmd文件,并且必须要有以下两个文件:

  • the data
  • the knitted .Rmd

如果可以嵌入分析到数据中并且只需发送一个文件,则会让人感到非常更加简单。而linpe包(作者:Andrea Spanò)实现了该功能,其实现功能描述如下:

简而言之,linpe包为您提供了一套简介的功能,你可以将.Rmd分析作为一个属性嵌入到数据中,然后将结果存为一个对象到一个单一的文件中,发送该文件给需要的用户,该用户可以使用该文件将.Rmd渲染为.pdf或者.html文件。此外,如果接受该文件的人想添加或修改内容,linpe包允许提取并且可以编辑.Rmd文件。

2.如何使用?

2.1创建.Rmd文件

首先,假设您完成了一个分析并且存为.Rmd文件,例如下面的test-linpe.Rmd文件:

---
title: "Test linpe"
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

```{r, message = FALSE}
require(dplyr)
require(ggplot2)
```

Do something

```{r}
mtcars %>%
 tbl_df() %>%
 group_by(cyl) %>%
 summarise(n = n(), mean_mpg = mean(mpg), sd_mpg = sd(mpg))
```

Plot something

```{r}
ggplot(mtcars, aes(disp, mpg)) + geom_point()
```

其显示为HTML文件后为:

2.2安装linpe包

library(devtools)
devtools::install_github('quantide/linpe')
library(linpe)

2.3链接数据

require(linpe)
# Link .Rmd to the data using linpe
mtcars_linpe <- link(mtcars, file = "test-linpe.Rmd")

2.4存储为.Rdata文件

# Save the linked dataset as an Rdata file
save(mtcars_linpe, file = "mtcars-linpe.Rdata"  )

2.5加载.Rdata文件

# Reload
load("mtcars-linpe.Rdata")

2.6查询是否为linked数据的linpe对象

# Check name of linpes
linpe(mtcars_linpe)

##########################
## Output
##########################

# [1] "test-linpe"

2.7渲染linpe对象

# Render the linpe
perform(mtcars_linpe, linpe = "test-linpe")

2.8提取可编辑的原始.Rmd文件

# Display .Rmd linked to the linpe
display(mtcars_linpe, linpe = "test-linpe")

2.9从data.frame中移除linpe属性

mtcars_linpe <- unlink (mtcars_linpe, linpe = "test-linpe")
linpe(mtcars_linpe)

##########################
## Output
##########################

# No limpe in mtcars_linpe 
# character(0)

3.linpe包函数介绍

link

link(data, file, linpe = NULL)

data    一个数据框对象 指.Rmd文件中使用的数据集
file    字符串向量,指向一个.Rmd文件位置
linpe   字符串向量,提供了linpe(分析)的名称,当没有指定的话,使用默认值设置为NULL,则该linpe名称由file参数指定的文件名推导出,即去掉文件类型后缀(.Rmd)

示例:

file <- paste(find.package("linpe"), "rmd/test-linpe.rmd", sep = "/")
# analysis is saved with default name
mtcars_linpe <- link (mtcars, file = file)
attr(mtcars_linpe, "test-linpe")

# analysis is saved with specific name
mtcars_linpe <- link (mtcars, file, linpe = "this-linpe")
attr(mtcars_linpe, "this-linpe")

unlink

unlink(data, linpe)

data   一个数据框对象 指.Rmd文件中使用的数据集
linpe  字符串向量,提供了linpe(分析)的名称

file <- paste(find.package("linpe"), "rmd/test-linpe.rmd", sep = "/")
mtcars_linpe <- link (mtcars, file = file)
linpe(mtcars_linpe)
mtcars_linpe <- unlink (mtcars_linpe, linpe = "test-linpe")
linpe(mtcars_linpe)

display

display(data, linpe)

data   一个数据框对象 指.Rmd文件中使用的数据集
linpe  字符串向量,提供了linpe(分析)的名称

返回值:
invisible(NULL) and, as side effect, opens the '.rmd' linked to the linpe

示例:

data(mtcars_linpe)
display(mtcars_linpe, linpe = "test-linpe")

linpe

linpe(data)

data   一个数据框对象 指.Rmd文件中使用的数据集

返回值:
list of linpes associated to data

示例:
data(mtcars_linpe)
linpe(mtcars_linpe)
linpe(mtcars)

perform

Perform(data, linpe, ...)

data   一个数据框对象 指.Rmd文件中使用的数据集
linpe  字符串向量,提供了linpe(分析)的名称
...    any parameter to be passed to function rmarkdown::render

返回值:
invisible(NULL) and, as side effect, renders the '.rmd' file corrensponding to the analysis and display it in the default html viewer

示例:
data(mtcars_linpe)
perform(mtcars_linpe, "test-linpe")

4.英文原文

http://www.quantide.com/linpe-make-sending-receiving-data-analysis-faster-easier/

linpe包-让发送和接收数据分析更快和更容易的更多相关文章

  1. 新型序列化类库MessagePack,比JSON更快、更小的格式

    MessagePack is an efficient binary serialization format. It lets you exchange data among multiple la ...

  2. [转帖]传输层安全协议TLS 1.3 RFC 8446使互联网更快、更安全

    传输层安全协议TLS 1.3 RFC 8446使互联网更快.更安全 2018-08-12 11:38:19作者:LINUX人稿源:开源社区 https://ywnz.com/linuxyffq/261 ...

  3. javaCV开发详解之技术杂烩:javaCV能帮我们做什么?能实现什么功能?ffmpeg和openCV能实现功能,javaCV如何做到更快、更简单的实现相应的功能?等等一堆实用话题

    前言: 该篇文章旨在帮助刚接触javaCV的盆友系统的认识音视频.javaCV.图像处理相关的体系知识和一些实用的知识. 序: javaCV早期因为内置了openCV库,所以常用来做图像识别应用,现在 ...

  4. vue3.0和2.0的区别,Vue-cli3.0于 8月11日正式发布,更快、更小、更易维护、更易于原生、让开发者更轻松

    vue3.0和2.0的区别Vue-cli3.0于 8月11日正式发布,看了下评论,兼容性不是很好,命令有不少变化,不是特别的乐观vue3.0 的发布与 vue2.0 相比,优势主要体现在:更快.更小. ...

  5. SOLOv 2:实例分割(动态、更快、更强)

    SOLOv 2:实例分割(动态.更快.更强) SOLOv2:  Dynamic, Faster and Stronger 论文链接: https://arxiv.org/pdf/2003.10152. ...

  6. 海量数据分析更快、更稳、更准。GaussDB(for MySQL) HTAP只读分析特性详解

    本文作者康祥,华为云数据库内核开发工程师,研究生阶段主要从事SPARQL查询优化相关工作.目前在华为公司参与华为云GaussDB(for MySQL) HTAP只读内核功能设计和研发. 1. 引言 H ...

  7. 只为更快、更省、更安全的 Azure CDN

    来来来!小编今天要公布一件大事啦: 经过最近一次更新,Azure CDN 高级版服务 HTTPS SSL 证书的申请方式有所改进啦,除了现有的 Azure CDN 代为申请证书外,还支持用户自己申请的 ...

  8. ZeroMQ一个更小、更快、更简单的智能传输层协议

    这个githube上的教程是非常好的,是个中文翻译,大家直接学这个就行 https://github.com/anjuke/zguide-cn/tree/master/bin 原文地址: https: ...

  9. 更快、更强——解析Hadoop新一代MapReduce框架Yarn(CSDN)

    摘要:本文介绍了Hadoop 自0.23.0版本后新的MapReduce框架(Yarn)原理.优势.运作机制和配置方法等:着重介绍新的Yarn框架相对于原框架的差异及改进. 编者按:对于业界的大数据存 ...

随机推荐

  1. 响应式web设计总结

    简单来说响应式是针对不同的屏幕的大小,比如电脑电脑.Pad设备上,屏幕比较宽的,就可以一行放多个Div.到了手机上,或者Pad竖着拿的的时候,一行就只放1到2个Div就差不多了.这样在移动设备上,无论 ...

  2. Collection小结

    Collection:

  3. AJAX获取数据成功后的返回数据如何声明成全局变量

    var result=""; $.ajax({ type: "post", url: "../reportRule/main.do?method=se ...

  4. C#数字日期装换为中文日期

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cons ...

  5. Socket网络编程二

    SocketServer socketserver一共有这么几种类型 class socketserver.TCPServer(server_address, RequestHandlerClass, ...

  6. 函数floor(n)

    Matlab函数floor(n): 仅取整数部分,剔除小数部分 例如: floor(9.2)=9; 仅此

  7. java并行计算Fork和Join的使用

    Java在JDK7之后加入了并行计算的框架Fork/Join,可以解决我们系统中大数据计算的性能问题.Fork/Join采用的是分治法,Fork是将一个大任务拆分成若干个子任务,子任务分别去计算,而J ...

  8. 在win7环境下批量修改文件权限

    在附件->命令提示符->右键->以管理员身份运行 进入你需要修改的文件位置,然后输入下面两条命令 takeown /f * /A /R icacls * /t /grant:r ev ...

  9. RakNet基本教程

    官方网址:http://www.jenkinssoftware.com/raknet/manual/tutorialsample3.html Tutorial code sample 3 Remote ...

  10. 3ds max录制自定义视频

    要将视频设置成未压缩才能录制出自己设定的大小,其他都是都是特定的,软件默认的一些参数.