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. 盘点8种CSS实现垂直居中水平居中的绝对定位居中技术

    Ⅰ.绝对定位居中(Absolute Centering)技术 我们经常用margin:0 auto来实现水平居中,而一直认为margin:auto不能实现垂直居中--实际上,实现垂直居中仅需要声明元素 ...

  2. MySQL 应用优化

    一.使用连接池 二.减少对MySQL的访问 (A) 避免对同一数据做重复检索. (B) 使用查询缓存,MySQL的查询缓存会存储SELECT查询的命令文本和相应的结果. (C) 增加CACHE层 三. ...

  3. shell脚本: 备份mysql远程数据库并清除一个月之前的数据

    hxingxing-backup.sh: date="$(date +"%Y-%m-%d")"mysqldump -u root -h localhost -p ...

  4. 超详细Web前端开发规范文档

    http://www.w3cfuns.com/notes/26488/c2ae788c77f835357025026a148b9863.html

  5. test1.xlsx

    耿丹CS16-2班第三次作业汇总 排名 学号后三位 姓名 作业顺序 作业情况 第三周博客 总得分 博客园地址 1 232 周* 1 8.5 3 12.5 http://www.cnblogs.com/ ...

  6. APUE学习--第三版apue编译

    第三版apue编译:     1. 首先在  http://www.apuebook.com/   下载源码解压:      tar zxvf src.3e.tar.gz 看完Readme可知,直接执 ...

  7. spring框架学习(三)

    一.Spring自动组件扫描 Spring 提供组件扫描(component scanning)功能.它能从指定的classpath里自动扫描.侦测和实例化具有特定注解的组件. 基本的注解是@Comp ...

  8. View & Controller 一些方法的执行顺序

    一.   加载视图 init-初始化程序 viewDidLoad-加载视图 viewWillAppear-UIViewController对象的视图即将加入窗口时调用: viewDidApper-UI ...

  9. 我的CodeF水A题之路

    Codeforces Round #359 (Div. 2) A. Free Ice Cream 题目链接:http://www.codeforces.com/problemset/problem/6 ...

  10. 【Django】--Form组件

    Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 例子: 1.创建Form类 from djan ...