刚刚看到一篇博文,hexo创建个人博客(附加插入音乐、分享、评论、标签页、搜索)。尝试一下,哈哈!
R语言解决矩阵距离的问题
刚刚群里有人提问,“请教个问题,有两个矩阵A和B,A矩阵n行2列,2列分别代表经度和纬度,B矩阵相同(行数不同,A有1万行,B有350万行),需要找出B矩阵中每一行数据,在A矩阵中距离最近的行号,该采用什么方法。”
乍一看,如果矩阵A和矩阵B是同型矩阵的话,那么可以直接对矩阵A和矩阵B做减法,然后再计算距离。但是,在A和B非同型矩阵的情况下。貌似只能用循环的方式解决了。当然,用lapply()
等泛函应该也可以。我想到一种解法,不过十分繁琐,而且用到了最不推荐的循环方式。鉴于目前没有想到什么更好的办法,姑且把目前的想法记下来。
由于提问者给的矩阵维度过大,算完估计黄花菜都凉了。所以我把数据维度缩小几个数量级,以下是代码。
用ggplot2绘制美观的柱状图
实习的时候看完了一本讲解ggplot2
包的书,名字叫做《Guide to CreateBeautiful Graphics in R》。
老实说,这本书虽然有很多例子,但讲的很浅,也许这本书的定位就是参考手册吧。^^…看完了里面柱状图的内容,感觉配色不是很美观。
于是乎自己动手绘制了以下的两幅柱状图,其中配色方案来自The Pudding。感觉这个博客
图像的配色方案让人赏心悦目,自己就仿照着也画一画^^…
R语言解决张三,李四王五说谎的问题
在知乎上看到一个问题,张三说李四在说谎,李四说王五在说谎,王五说张三李四都在说谎。问谁在说谎。用R语言解决。。不得不说,这个问题还是挺有趣的。但是拿到这个问题,我是不知道该怎么办的。不过有大神孙利军给出了答案。如下:
张三、李四和王五,有三个人,每个人均有“说谎”,“说真话”两种可能,故一共有$2^3=8$中可能。这里,通过expand.grid()
函数创建一个数据框,包含所有的组合。
如何查找数据框中重复的数据
今天看到群里面有童鞋问了一个问题:如何查找数据框中的重复值?这个问题问的非常好,而且很有趣。查找重复值一般大家都会想到unique()
函数,distinct()
函数,duplicated()
函数等等。但是这些函数一般只能找出每组重复数据中的一个,并不能指出哪些数据是重复的。怎么办?有个童鞋给出了一个非常有创意的解决方案。下面来看看代码:
关于R语言`if...else...return`的一点思考
一直以来对于return()
函数很困惑。在代码到低是写一个return()
比较好,还是写多个return
比较好呢?纠结的很。今天偶然间在网上看到一个问题:一个函数里面用一个return 好 还是多个return 好?,感觉有点明白了。在上一篇博客解析fivenum
函数的源码中,fivenum
函数也多次“用到”return
,当然只是隐式的调用return
函数。那么问题来了?我到底该用哪一种呢???
我自己写了一个函数,然后用microbenchmark
包输出两个函数(各执行10000次)的执行时间,比较哪个更好,以后就用哪个了。^_^
R函数源码解析(一)-- fivenum函数
本文是R语言中的函数源代码解析系列的第一篇文章。
本文将逐句解释fivenum
函数的源码。之所以选取fivenum
函数,是因为这个函数比较简单,结构并不复杂。太复杂我都要看晕了,^_^。以后会解析一些比较复杂的函数源代码,当然以 本人目前的水平,只能解释纯粹的R代码,更深层次的C或者其他的语言的代码,还是够呛。
好了,言归正传。直接进入主题吧…
如何利用Hexo发布Github博客
- 搭建个人的博客
网上的教程已经不能再多,这里推荐使用hexo+github搭建免费个人博客详细教程。照着做就行了。
- 选择一个markdown编辑器,编写文章,
建议使用Rstudio
+rmarkdown
的形式,并且在yaml
栏的output
下添加keep_md: TRUE
。这样,用knitr
编译后,会自动生成一个.md
文档。我们只需要修改header
部分就可以了。
- 将md文件放在你的hexo网站所在位置下的
source\_posts
目录,这个目录下存储了很多个md
文件,每个文件对应着一篇博客。