Beta

It’s a beautiful thing when free data meets free algorithm.

以下请忽视,流程图最好工具是 plantuml,支持对象图、组件图、状态图、用例图等

一般来说,流程图大家比较习惯用 MS 的visio 来实现,或退而求其次使用 MS word 或 Excel 也可以实现相同功能。其实流程图是一种很简单的图形模式,R 的diagram 包也提供了 Flow Chart 功能,只不过使用命令行来实现:

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
36
37
38
39
40
41
42
43
44
45
46
47
48
library(diagram)
pos <- coordinates(pos = c(3, 3, 3, 3, 3, 3))
cc <- c("Start", LETTERS[2:16], "End")
openplotmat(main = "Flow Chart")
for (i in seq(1, 15, by = 3))
straightarrow(from = pos[i, ] , to = pos[i + 3, ])
for (i in c(2, 5, 8))
straightarrow(from = pos[i, ] , to = pos[i + 6, ])
segmentarrow(
from = pos[16, ],
to = pos[2, ],
path = "RVL",
dd = 0.15
)
bentarrow(from = pos[8, ], to = pos[6, ], path = 'H')
bentarrow(from = pos[6, ], to = pos[2, ], path = 'V')
straightarrow(from = pos[14, ], to = pos[17, ])
for (i in c(2, 7, 13, 14, 16))
textrect(pos[i, ],
radx = 0.08,
rady = 0.04,
lab = cc[i])
for (i in c(1, 17))
textround(pos[i, ],
radx = 0.08,
rady = 0.04,
lab = cc[i])
textdiamond(
mid = pos[8, ],
radx = 0.15,
rady = 0.08,
lab = c("Has", "Detect?")
)
textmulti(
mid = pos[4, ],
radx = 0.1,
rady = 0.05,
nr = 6
)
textmulti(
mid = pos[6, ],
radx = 0.1,
rady = 0.05,
nr = 5
)
textellipse(mid = pos[10, ], radx = 0.1, rady = 0.05)
text(pos[8, 1] + 0.2, pos[8, 2] + 0.03, "YES", cex = 0.8)
text(pos[11, 1] + 0.04, pos[11, 2], "NO", cex = 0.8)

以上代码呈现的结果是这样的:

九连环这个玩具,最早在高中的时候摸过,记得解它的时候因为很多重复步骤,所以恨不得要把它拆掉,还好最后解开了, 不然我又得加条"亵渎古人智力"的罪名,呵呵。闲话少扯,下面是 n 连环实际步骤数的求法:

1
2
3
4
5
6
7
8
9
ggg <- function(n) {
a <- numeric(n)
a[1] <- 1
a[2] <- 1
for (i in 3:n) {
a[i] <- a[i - 1] + 2 * a[i - 2] + 1
}
return(a)
}

比如九连环的实际步骤:

1
2
gg(9)
[1] 1 1 4 7 16 31 64 127 256

第一届 R 会议就这么匆匆结束了,这么标志性事件,不写点东西对不起观众。昨天晚上本来想写些东西,不过这两天实在太累,只好放在了今天。见识了好多个传说中的大牛,做一些记录多年后再见。

  • Yihui Xie:这个师弟,脑子里奇思妙想太多,估计以后在国内,肯定可以比肩比尔盖茨。下次我决定用 R 跑个桌签,肯定也特方便。
  • Guohui Ding:传说中的那位,开始我一直以为是40、50岁的老头子呢,结果和自己同年生。下了飞机就直奔会场,敬业。大赞那个网络关系图,学基因的就是不一样。and 刚从德国带回来的那本让人狂吐的杂志。
  • 吴喜之老师:跟老师混这么多年,头一次看到吴老会在一个地儿坐一天(旁白:俺啥时候能学吴老的一招半式,也就能独步武林了)
  • Peng Zhan:……不重要,R 重要……险些笑翻我 ^_^
  • Tan Xi:这两个小伙,有前途啊
  • Gang Chen:原来生物和遗传应用这么个广泛,孤陋寡闻了
  • Lipeng Hou:一直以为是个mm,哈
  • John Maindonald:老头子真牛,够我喝一壶的了
  • Jian Li:统计学院一哥的美名不是白传得……
  • Xiang Zhang:那是美学!怎么学 R 的人都这么“不务正业”呢,而且是公司支持的不务正业!?
  • Chen Zuo:quantile regression 应用还是很广的,哎,当初俺们也有这机会就好了
  • Peng Ding:能上 PKU 的概率统计确实不一般,而且——贝耶斯统计被压抑太久了。嘿嘿嘿
  • Cloud wei:平时还挺腼腆的,上台后激情四射的
  • Yanping Chen:数学能爱好到这份上,而且居然同样用 R
  • Lichongl:PKU 卧虎藏龙,不说了
  • Huaru Wang:见识了在水文上也有成熟模型(还欠我数据呢啊!)
  • WengYm:精通 R 的 PPMM
  • Ming Liu:果然有在企业中规模使用 R 的
  • Bin Ma:手抄 6000+ 数据的牛人,太狠了!
  • Bing Zheng:以后的师妹,肯定没问题了,哈

看完画皮,感慨其中的一句影评:

婚姻本身就是道德的枷锁,人与人之间,总是先入为主的,怨天怨地的, 也只能怨造物弄人,在错误的时间遇到了对的人。

《大话西游》看过多次了,被人热捧的

曾经有一段爱情摆在我面前……,爱你一万年

这段话倒没给我什么太深的印象,而最深的却是影片结束时夕阳武士对紫霞说的:

那个人好像一条狗耶。

城墙下的孙大圣,空有通天彻地的本领,可再也没有吻自己心爱女人的勇气。五百年的守候和挣扎,只怨造化弄人……不是么,我们都是这么笑着流泪的。

逛了逛谢益辉的博客,被《Inverse Empirical Cumulative Distribution》这篇文章吸引过去。

确实当学习统计这么多年第一次知道 quantile 有 9种求法,诧异心情完全理解。记得写《153 分钟学会 R》时,关于 fivenum 和 summary 函数区别时,翻阅 quantile 函数发现了这个问题,当时自己都想呕血了。

说实话,这个问题稍好整理下,在国内发到顶级统计期刊上都不为过,有兴趣的看官可以考虑下。

0%