R Package ggplot2 Notes

1. Basic grammar

1.1 Plot types

The R package ggplot2 is a famous plot tool for high quality scientific figures. The ggplot2 style figures are widely seen in papers published in high quality journals such as PNAS, Nature and Cell.

The input data should be in data frame form, and it is easily to use the function as.data.frame(). “+” is used to connect different plot statement. A typical ggplot2 plot statement is like:

EM算法的推出

考虑观测数据$Y=\{y_1, y_2, \dots, y_m\}$,其中不可观测数据为$Z=\{z_1, z_2, \dots, z_k\}$,需要估计的参数为$\theta=\{\theta_1, \theta_2, \dots, \theta_t\}$。$Z$可以是离散或连续型随机变量,以下过程中假设$Z$为离散型($Z$为连续型,则全概率公式由求和改为积分)。则观测数据的对数似然函数为:

1. 完备事件

对于完备事件组$X = \{x_1, x_2, \dots, x_n\}$:

常用的技巧构造乘法系数,例如$\P(Y) = \sum\limits_{i=1}^{n}P(x_i|\theta)P(Y)$

2. 全概率公式

对于完备事件组$X = \{x_1, x_2, \dots, x_n\}$,事件$Y$的全概率公式:

使用概率密度函数表示为:

需要在python中调用R,实在是一种无奈的选择。如果能在一门语言中独立完成课题,是一个比较理想的做法。但是,这种想法也不太现实,毕竟每一种语言都有自己的长处。如果能取长补短,综合使用各种语言,也能起到不错的效果。

现在遇到的问题是,如何在python中调用R?这其中包括了如何调用R的对象(函数和包),R和python的对象如何互相转换,以及如何调用R的脚本(外界参数的输入)。python提供了一个模块rpy2 ,可以较好地完成这项工作。rpy2只是提供了一个Python调用R的接口,因此也直接继承了所有R的缺点。一个有意思的项目是renjin,一个基于JVM的R语言解释器。

本文着重记录一些使用过程中的注意事项和小技巧,如有不一致则以官方文档为准。

1. 安装

rpy2作为Python的一个模块,其安装非常方便。需要做的准备工作是在本地安装好R。

Install rpy2 from pip
1
# pip install rpy2