我觉得我的女神很漂亮,想把她的照片当成图表背景,该怎么做?(新篇)

在一年前的寒假我刚刚学习用 Stata 绘图的时候就做过这么一件事情:画图片,当时的结果不是很成功,画出来的照片看起来很“水墨风格”???详细绘图方法可以参考:我觉得我的女神很漂亮,想把她的照片当成图表背景,该怎么做?

渲染单词树!

这是坐火车的时候在写的一个简单的 R 包,可以用来绘制单词树。使用的是 Google 图表库的 js 文件。

Create Desktop Notifications From R

前不久看到的一篇推文: Create Desktop Notifications from R to improve your Data Science Productivity。里面介绍了这样的一个 R 包: notifier,该包可以让你从 R / RStudio 创建桌面通知。

针对 R 用户的 docker 简介

其实,我一直不知道 docker 具体怎么用…… 本文是学习 An Introduction to Docker for R Users 的笔记。

在 Python 中像 dplyr 那样操纵数据框

自从用了 tidyverse 系列的 R 包,彻底爱上了 tidyverse 数据处理流程。之前的每周分享中提到了两个类似的 Python 包。dplythonpandas-ply,你可以在这里下载我的 Jupyter notebook 文件:在 Python 中像 dplyr 那样操作数据框.ipynb

第一次对 MacBook 重置的记录

经过两天的努力,终于把我的 Mac 重置了一下,重置的起因是我觉得我的电脑里面的 Python 版本太多了,记得都有五六个了,每次装包的时候不知道包装哪里去了,但是最近自己又打算开始继续入手 Python 的学习,所以干脆一不做二不休,把电脑重置一下,然后好好学习 Python。本文记录了我这次重置过程中的一些我还记得的事情。

Plumber API 是什么?

RStudio 去年年底推出的新包plumber,可以把 r 代码转变成 API 请求。前一段时间我尝试学习了这个包,对这个包有了入门级的认识,后来因为发现如果你想把自己写的 Plumber API 部署,你需要购买 RStudio 公司的付费服务:RStudio Connect,显然我是买不起的。但是了解一下还是不错的,蛮有意思的一个 R 包。

首先我们使用 RStudio 新建一个 Plumber API,会自动生成一段示例代码:

R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#
# This is a Plumber API. You can run the API by clicking
# the 'Run API' button above.
#
# Find out more about building APIs with Plumber here:
#
# https://www.rplumber.io/
#

library(plumber)

#* @apiTitle Plumber Example API

#* Echo back the input
#* @param msg The message to echo
#* @get /echo
function(msg = "") {
list(msg = paste0("The message is: '", msg, "'"))
}

#* Plot a histogram
#* @png
#* @get /plot
function() {
rand <- rnorm(100)
hist(rand)
}

#* Return the sum of two numbers
#* @param a The first number to add
#* @param b The second number to add
#* @post /sum
function(a, b) {
as.numeric(a) + as.numeric(b)
}

这里展示了三个函数,第一个函数是文本输出,第二个函数是图片生成,第三个是加法函数,我们运行一下这个 Plumner API。

首先看第一个文本输出的:

这里可以把第一个函数变成一个 curl 请求:

Shell
1
curl -X GET "http://127.0.0.1:7307/echo?msg=czxa" -H  "accept: application/json"

czxa是我输入的参数,返回的结果是:

Shell
1
2
3
4
5
{
"msg": [
"The message is: 'czxa'"
]
}

再在终端试一下:

Shell
1
2
$ curl -X GET "http://127.0.0.1:7307/echo?msg=czxa" -H  "accept: application/json"
{"msg":["The message is: 'czxa'"]}

接下来尝试第二个 API:

curl 请求是:

Shell
1
curl -X GET "http://127.0.0.1:7307/plot" -H  "accept: application/json"

在终端运行一下:

Shell
1
2
3
4
5
$ curl -X GET "http://127.0.0.1:7307/plot" -H  "accept: application/json" -o plumberpng.png

% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 15175 100 15175 0 0 435k 0 --:--:-- --:--:-- --:--:-- 435k

然后就能得到这幅直方图了:

最后这个加法函数:

同样在终端测试一下:

Shell
1
2
3
$ curl -X POST "http://127.0.0.1:7307/sum?b=100&a=200" -H  "accept: application/json"

[300]

我再自己写个绘图函数:

R
1
2
3
4
5
6
7
8
#* 返回mtcars的相关系数图
#* @get /corr
#* @png
function(){
require(corrplot)
M <- cor(mtcars)
corrplot(M, order = "hclust", addrect = 2)
}

确实挺有趣呢!以后有需要再慢慢学习参考文档吧,另外希望今年双十一能入手一台服务器研究研究。

MacBook 安装 SQL Server

SQL Server 入门篇~ 如果你的电脑也是 Mac 系统,你会发现 SQL Server 并没有 Mac 版本的安装包。本文中介绍了如何使用 Docker 容器在 Mac 系统的电脑上安装 SQL Server。

终于为自己的网站开启了 https!

庆祝!
网站成功开启https!同时网站获得了加速!

Hexo 拓展用法

这篇博客介绍了如何使用 Hexo built-in 方法、icarus 主题附带的用法以及一些插件的用法。

RSS 的正确打开方式

RSS 是一个非常老的东西了。RSS,简易信息聚合(也叫聚合内容)是一种 RSS 基于 XML 标准,在互联网上被广泛采用的内容包装和投递协议。RSS(Really Simple Syndication)是一种描述和同步网站内容的格式,是使用最广泛的 XML 应用。RSS 搭建了信息迅速传播的一个技术平台,使得每个人都成为潜在的信息提供者。发布一个 RSS 文件后,这个 RSS Feed 中包含的信息就能直接被其他站点调用,而且由于这些数据都是标准的 XML 格式,所以也能在其他的终端和服务中使用,是一种描述和同步网站内容的格式。

RITCH:在 R 中解析 ITCH 文件(金融和市场微观结构数据)

RITCH:在 R 中解析 ITCH 文件(金融和市场微观结构数据)

Introducing RITCH: Parsing ITCH Files in R (Finance & Market Microstructure)学习笔记。

RBitmoji 包:R 与 Bitmoji 表情包的接口

RBitmoji 包:R 与 Bitmoji 表情包的接口

该项目的地址为:bgreenwell/RBitmoji。能够连接你的 Bitmoji 账户展示你的 Bitmoji 表情,还可以把表情插入图表中。

注册 Bitmoji

首先你可以注册一个 Bitmoji 账户,Bitmoji 是一个 iOS app,可以在苹果商店中下载。

注册完之后它会根据你的自拍照生成一个神似你的卡通人物信息,然后你就可以用这些表情包聊天了。我觉得美国人对表情包的理解有偏误,这个东西在我国称为“QQ 秀”

注册好这些就能使用这个包了。

安装

1
devtools::install_github("bgreenwell/RBitmoji")

登陆账户

1
2
library(RBitmoji)
my_id <- get_id("[email protected]")

这一步会弹出密码输入框,如果你觉得你长得神似我的卡通形象,可以用我的账户,我的密码是:zegpot-nirwad-2diftI。是不是觉得超级难记,我也是这么觉得的,毕竟是随机密码。

基本用法

1
2
set.seed(102)
plot_comic(my_id, tag = "fail")

1
plot_comic(my_id, tag = "time magazine")

1
2
3
4
5
6
7
8
par(mfrow = c(2, 2))
for (i in 1:4){
set.seed(i)
a = runif(1)*100
set.seed(a)
plot_comic(my_id, tag = "cool")
}
par(mfrow = c(1, 1))

1
2
3
4
5
6
comic <- get_comic(my_id, tag = "morning")
library(ggplot2)
library(ggthemes)
ggplot(iris, aes(x = Petal.Length, y = Petal.Width)) +
geom_point(aes(color = Species)) +
annotation_raster(comic, xmin = 1, xmax = 3, ymin = 1.5, ymax = 2.5) + theme_igray(base_family = "FiraSans-Regular", base_size = 15)

还可以和女朋友一起玩:

1
2
3
4
5
6
7
8
boyid = get_id("[email protected]")
girlid = get_id("[email protected]")
par(mfrow = c(2, 2))
plot_comic(c(girlid, boyid), tag = "bye")
plot_comic(c(boyid, girlid), tag = "love")
plot_comic(c(girlid, boyid), tag = "kiss")
plot_comic(c(boyid, girlid), tag = "kick")
par(mfrow = c(1, 1))

mtheme:一个 Latex-Beamer 模板的使用

这是一个 Latex 的 Beamer 模板,非常炫酷。

mdx-deck 制作幻灯片

该项目的 Github 地址为:jxnblk/mdx-deck
可以使用 Markdown 编写幻灯片,并编译成 html/pdf 文件。
下面介绍这个工具的用法。

自定义 emoji 表情

本来是打算使用 hexo 插件:hexo-filter-github-emojis自定义 emoji 表情的,但是尝试了很多次只有第一次成功了,后来全都失败了,搞不清为啥。所以暂时还是先直接使用 img 标签吧。

一个 pandoc-Beamer 模板的使用

这个模板的 Github 地址为:cympfh/beamer,不过英文的 tex 都需要稍作修改才能方便中国人的使用。所以这篇文章就是介绍如何修改这个模板使之适配中文。

一个 Pandoc 模板的使用

这个模板的 Github 地址为:Wandmalfarbe/pandoc-latex-template, 这个模板的工作流程大概是这样的,首先使用 pandoc 将 Markdown 文件转换成 tex 文件,然后使用 Tex Live 把 tex 文件转换为 PDF 文件。当然原模板是英文的,需要按照本文中介绍的方法稍加修改使之支持中文。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×