1. Emacs配置文件位置

在Fedora系统下,Emacs的配置文件位置是~/.emacs。在Emacs配置文件中添加内容后,使用M-x eval-buffer,使当前配置生效。编译代码以加快加载速度,M-x byte-compile-file

使用Eamcs解释器M-x ielm

2. Emacs自带的包管理系统

在Emacs24之后,自带包管理系统,使用M-x eval-buffer进入。可以添加MELPA源marmalade源GNU源

Add repositories of Emacs packages
1
2
3
4
5
6
(require 'package)
(add-to-list 'package-archives
	     '("melpa" . "http://melpa.milkbox.net/packages/"))
(add-to-list 'package-archives
	     '("gnu" . "http://elpa.gnu.org/packages/"))
(package-initialize)

查看创建R包的各种细节,权威的文献是Writing R Extensions

1. 创建R包目录##

像盖房子一样,创建R包需要先搭建一个骨架,这个骨架往往是固定的,即一些文件夹(如Rman等)和文件(如DESCRIPTIONNAMESPACE)是必须的,而另外一些则可选择性添加。一个典型的R包目录,比如Biobase包,如下图:

1. 一些S3的铺垫

在博文“Linux安装R语言包”描述了如何查看一个函数的源代码,其中涉及了例如methods()函数,用来查看一个S3泛函(S3 generic)的方法。在pryr包中,提供了更加便捷的查看方法。

pryr check objects and methods
1
2
3
4
5
6
7
library('pryr')

## object is base type, S3, S4 or RC
otype(obj)

## function is genetic or method
ftype(method)

持续更新R语言编程中的一些小技巧,包括一些易错点。 但是,需要注意的,一旦需要使用一些非常稀奇古怪的技巧时,可以尝试反思是否是自己数据结构或者算法出了问题。

1. if爱你,else就要和你在一起,又要给你一些距离

1
2
3
4
5
if (con){
  expr
  } else{
  expr2
  }

if...else..结构中,}else必须在同一行。