雁起平沙的网络日志

数量金融与R

用R处理大数据集

| Comments

本文翻译自R in Action的附录G,如果对该书感兴趣,请自行购买或去图书馆阅读。

R会把所有的对象读存入虚拟内存中。对我们大多数用户来说,这种设计可以提高与R相互的速度,但是当分析大数据集时,这种设计会降低程序运行速度有时还会产生跟内存相关的错误。

内存限制主要取决于R的build版(32位还是64位),而在32位的windows下,取决于操作系统的版本。以cannot allocate vectoe of size开头的出错信息表示无法分配充足的连续内存,而以cannot allocate vector of length开头的出错信息表示超越了地址限制(address limit)。在处理大数据集时,应尽量使用64位版的R。对于各种build版,向量中的元素个数最大为2147483647(请自行?Memory)。

在处理大数据集时有三方面应该考虑:(a)提高程序的效率,保证执行速度;(b)把数据储存在外部,以解决内存限制问题;(c)使用专门的统计方法来有效处理大数据量的问题。

下面将分别讨论。

Windows下安装Octopress

| Comments

首先,我要感慨一下,有心栽花花不开,无心插柳柳成荫。

最初我发现在windows下不能部署octopress,安装rvm不成功,跟阳志平交流后,他也说在windows不可以,到网上搜寻了一下,也没有人说在windows下安装成功。

去上海参加R语言会议时,见到怡轩和思喆的ubuntu,甚是羡慕,当初哥也玩过很长一段时间的,没玩明白呢就荒废了,现在决定捡起来。重新给硬盘分区太麻烦了,好在现在的电脑性能比3、4年前要强太多了,办公室的电脑随便哪台都是双核4G内存256G硬盘,用来打字上网淘宝人人开心微博就太浪费了[1],于是我决定在办公室的电脑上安装虚拟机virtualBox,在虚拟机里装ubuntu 10.04。这中间也遇到了些问题,我到ruby-taiwan上也发帖问过(请看当时的帖子)。后来用wubi的方式在自己笔记本上安装了ubuntu11.10,用得挺爽,我的octopress博客也开张了,地址是http://chen.yanping.me/cn。原来的wordpress博客暂停更新。

因为大部分工作还是要在windows里完成,所以我还是想能在windows下使用Octopress。

再谈github页面域名绑定

| Comments

之前我写过一篇浅谈github页面域名绑定,现在一直困扰我的问题终于解决了。

假设你的用户名是username,要绑定一个二级域名的话,那么不管是user page还是project page,除了在github的版本库里添加CNAME文件,还要在DNS record里增加相应的CNAME记录指向username.github.com。注意这里的表述,指向的地址在两种情况下都是一样的。

如果要绑定顶级域名,就建立A记录,指向207.97.227.245

经过这样的操作,你想绑定几个域名都可以了。

域名跳转的问题

当你访问username.github.com这个地址时,Github会自动转到绑定的域名,但是当你访问http://username.github.com/repo-name这样的网址,虽然可以显示网页,但是地址不会自动转。

可以用.htaccess文件来实现跳转,在repo代码库根目录下创建.htaccess文件

本文域名跳转部分有误,请看三谈github页面域名绑定

【译文】用Jekyll构建静态网站

| Comments

原文地址 http://net.tutsplus.com/tutorials/other/building-static-sites-with-jekyll/

功能五花八门的CMS(内容管理系统)有时候并不是必需的,你只需要创建一个轻量级的静态网站… 当你有足够多的页面就会使复制模板文件和跨网站标记的过程变成繁琐的事。今天,我将介绍一种简单的解决方案——Jekyll——使你可以轻而易举地创建小型网站。

Step 0: 遭遇Jekyll

Jekyll is a simple, blog aware, static site generator.

Jekyll是一种简单的、适用于博客(blog aware)的、静态网站生成引擎。Jekyll网站的宣传语这么说。但,这究竟是什么意思呢?静态网站生成引擎是利用一整套文件生成网站的程序。正如你看到的,我们可以利用一套模板,单独生成内容文件,然后用Jekyll生成网站。“blog aware”意思是我们可以用它来创建博客,或者其他有系列文章(例如合集,英文称portfolio)发布的网站。让我们来尝试一下吧!

浅谈github页面域名绑定

| Comments

前段时间看到COS上的各位都有博客,也想开个博,给COS的各位管理员发邮件,向他们请教如何开个像怡轩和太云那样的博客,思喆兄说要向益辉申请空间和cos的二级域名。无奈老大太忙,迟迟没有给我分配空间和域名,只是某次提到有个叫github的东西,可以在上面建网页,还可以写博客,写博客还可以不用网络哦亲,只要在本地写好,哪天有网络了就一个push过去哦亲,so fashion!1于是我又给他写了很多邮件,向他请教如何使用该系统,结果,他还是不回复。得,自己研究吧。

关于如何在github上创建页面本文就不讲了,文章末尾会列出参考文献,本文着重介绍github页面的域名绑定问题。 github pages的官方主页这样说:

  • 假设你github的用户名为username,那么创建一个名为username.github.com的代码库(repository),在这个库中上传html、CSS等静态页面文件,可以用地址 http://username.github.com来访问页面了,这个页面就是你账户的主页面(User pages)。
  • 如果你又创建了个叫repo的代码库,在它下面的gh-pages分支里上传了html、CSS等静态页面文件,那么用http://username.github.com/repo这个地址就能访问页面了。
  • 要想生成复杂点的页面,可以用jekyll,语法高亮用pygments
  • 要想域名绑定,在代码库的根目录下放一个CNAME文件就行了,文件里写上想要绑定的域名,然后在域名DNS管理的后台网站建立指向就行。如果想把页面绑定到二级域名,需要创建一个CNAME指向。如果要把页面绑定到顶级域名,需要创建一个A指向。不能用CNAME指向顶级域名,否则会造成冲突。

使用现有的jekyll模板

| Comments

jekyll可以生成静态页面,可以用来写博客。假设你建立的repo地址是 https://github.com/username/reponame :

下面的命令用于克隆和初始化别人的模板

1
2
3
4
5
6
7
8
git clone https://github.com/krisb/jekyll-template.git mysite
cd mysite
rm -rf .git
git init
git add -A
git commit -m 'initial template based on https://github.com/krisb/jekyll-template'
git remote add origin git@github.com:username/reponame.git
git push -u origin master

原文地址 https://github.com/krisb/jekyll-template

延伸阅读: