R 语言可视化之案例

qplot 使用

导入所需数据格式为data.frame

data(mtcars)
df <- mtcars[, c("mpg", "cyl", "wt")]
head(df)

qplot()基本用法

qplot(x, y=NULL, data, geom="auto",
xlim = c(NA, NA), ylim =c(NA, NA))

# geom 画什么图;main 题目;xlab,ylab xy轴标签
# color 颜色;size 点大小;shape 点形状

R 语言可视化之原理概述篇

整体介绍

一张统计图形就是从数据到几何对象(geometric object, 缩写为geom, 包括点、线、条形等)的图形属性(aesthetic attributes, 缩写为aes, 包括颜色、形状、大小等)的一个映射。此外, 图形中还可能包含数据的统计变换(statistical transformation, 缩写为stats), 最后绘制在某个特定的坐标系(coordinate system, 缩写为coord)中, 而分面(facet, 指将绘图窗口划分为若干个子窗口)则可以用来生成数据中不同子集的图形。

要素

  • 数据(data)
  • 映射(mapping): 建立数据与图形元素的关系
  • 几何对象(geom):对数据的渲染和展示
  • 统计变换(stats)
  • 标度(scale)
  • 坐标系(coord)
  • 分面(facet)
  • 主题(theme)

多快好省用 R 处理数据

很早之前我一直都是使用命令行来处理软,cut,sed再grep再加上终极awk基本上就可以随意的按照需求处理各种软件跑出来的文本文件了,再后来就要开始学习python,python 学的怎么样了呢?呵呵。

虽然做过统计学课的助教,上课的时候用的也是R语言,但是博客里并没有几篇R相关的文章。印象中一篇是给初学者的R语言介绍(写这篇文章当时是为了激发一点学生学习R语言的热情),另一篇是R 必备基础知识(写这篇文章当时是因为在写R与统计学基础系列文章,就不得不总结一些R语言的基础知识)。

说实话,我本身对 R 还是非常喜欢和欣赏的,但是日常的使用需求并不高。就拿最基本的文本处理来说,基本上都可以在shell 中进行随心所欲地增删改成,处理成很多R相关软件需要的文本格式,用需要的R包跑一两个命令就可以了。但是目前已经有点厌倦了这样的生活,我后期打算有机会的话用R shiny写一点网页工具给大家娱乐,也打算精进一下 R 的画图技能。这里就have to 用 R 去做一些数据处理,于是就有了这样一系列文章。这篇是关于如何用 R 多快好省的进行数据处理。另外,说句题外话,从我这几天的实际处理数据情况来看,R 有些工作做起来,还是太慢了,也可能是我的业务不够娴熟吧。

R 语言必备基础知识

写着写着R与统计基础莫名其妙地又写开R基础了,一起写吧。

R编程基础

算数运算

常用的+ - * \ ^ 可以直接在console中计算

计算函数

常用的log2(x) log10(x) exp(x) sin(x) tan(x) abs(x) sqrt(x) 也可以直接计算

变量赋值

a <- 3;a <- "b"赋值符号是<-,使用ls()可以显示当前已经创建的对象

给初学者的 R 语言介绍

几点说明:

  1. 文档由R Markdown[^1]写成。

  2. 下文是我暂时能想到的一些内容,水平有限,供大家了解,大牛小神都可以出门右拐不用看哈。

  3. 写作初衷:目前在水中科院上海分院这边生物统计学助教,本文及后续一段时间里的R相关内容主要是为了供这门课的同学参考,同时也是自我总结的过程。


数据科学重要性

摩尔定律[^2]告诉我们计算机的计算能力每两年就会翻一倍,这使得数以百万计的计算机生成了大规模数据集。

海量的数据如何处理成了各行各业都需要面对和解决的问题;如何从海量信息中提取有效信息并总结出一般性的规律也值得我们去思考。

数据驱动下产生的这门学科,被我们称为数据科学(Data science),其中涉及到数据的收集、处理、分析和呈现四大方面。

2012年,哈佛商业评论将Data Scientist定义为21世纪最性感的职业[^3](有图有真相)。

『终极算法』摘抄笔记-贝叶斯学派

贝叶斯定理

对于贝叶斯学派来说,学习“仅仅是”贝叶斯定理的另外一个运用,将所有模型当作假设,将数据作为论据:随着你看到的数据越来越多,有些模型会变得越来越有可能性,而有些则相反,直到理想的模型渐渐突出,成为最终的胜者。

假设你半夜在一个陌生的星球上醒来。虽然你能看到的只是繁星闪烁的天空,你有理由相信太阳会在某个时间点升起,因为多数星球会自传并绕着自己的太阳转。所以你估计相应的概率应该会大于1/2(比如说2/3)。我们将其称为太阳会升起来的“先验概率”,因为这发生在看到任何证据之前。“先验概率”的基础并不是数过去这个星球上太阳升起的次数,因为过去你没有看到;它反映的是对于将要发生的事情,你优先相信的东西,这建立在你掌握的宇宙常识之上。但现在星星开始渐渐暗淡,所以你对于太阳会升起的信心越来越强,这建立于你在地球上生存的经历之上。你的这种信心源自“后验概率”,因为这个概率是在看到一些证据后得出的。天空开始渐渐变亮,后验概率又变得更大了

『终极算法』摘抄笔记-联结学派

赫布律

“当A细胞的轴突和B细胞足够近,并且重复或不断地对其放电时,A、B中的一个细胞或者两个细胞都会经历生长过程或者代谢改变,这样A细胞(作为对B细胞放电的细胞之一)的效率就会得到提高。” 1949年《行为的组织》

这段话经常被转述成“一起放电的神经元也会被串连在一起”。

赫布理论解释了神经元如何组成联接,从而形成记忆印痕(英语:engram(neuropsychology))。赫布理论阐明了细胞集群(Cell Assemblies)的形态和功能:“两个神经元或者神经元系统,如果总是同时兴奋,就会形成一种‘组合’,其中一个神经元的兴奋会促进另一个的兴奋。如果一个神经元持续激活另一个神经元,前者的轴突将会生长出突触小体(如果已有,则会继续长大)和后者的胞体相连接。”

高尔顿·威拉德·奥尔波特根据自联想(auto-association)的思路,进一步提出了关于细胞集群的作用,以及它们在形成记忆痕迹中的角色:

如果系统的输入会导致同样的模式重复出现,那么组成这个模式的元素之间的相互关联性将会大大增强。这意味着,其中任何一个元素都会倾向于触发同组的其他元素,同时(以减少权重的方式)抑制组外其他不相关元素。另一个角度来看,这个模式作为一个整体实现了“自联想”。我们可以把一个学习了(自联想)的模式称为记忆痕迹。

通常认为,从整体的角度来看,赫布学习是神经网络形成记忆痕迹的首要基础。

『终极算法』摘抄笔记-贝叶斯学派

贝叶斯定理

对于贝叶斯学派来说,学习“仅仅是”贝叶斯定理的另外一个运用,将所有模型当作假设,将数据作为论据:随着你看到的数据越来越多,有些模型会变得越来越有可能性,而有些则相反,直到理想的模型渐渐突出,成为最终的胜者。

假设你半夜在一个陌生的星球上醒来。虽然你能看到的只是繁星闪烁的天空,你有理由相信太阳会在某个时间点升起,因为多数星球会自传并绕着自己的太阳转。所以你估计相应的概率应该会大于1/2(比如说2/3)。我们将其称为太阳会升起来的“先验概率”,因为这发生在看到任何证据之前。“先验概率”的基础并不是数过去这个星球上太阳升起的次数,因为过去你没有看到;它反映的是对于将要发生的事情,你优先相信的东西,这建立在你掌握的宇宙常识之上。但现在星星开始渐渐暗淡,所以你对于太阳会升起的信心越来越强,这建立于你在地球上生存的经历之上。你的这种信心源自“后验概率”,因为这个概率是在看到一些证据后得出的。天空开始渐渐变亮,后验概率又变得更大了

『终极算法』摘抄笔记-符号学派

理性主义和经验主义

理性主义者认为,感官会欺骗人,而逻辑推理是通往知识的唯一可靠的道路。经验主义者认为所有推理都是不可靠的,知识必须来源于观察及实验。理性主义者喜欢在迈出第一步前,就提前规划好一切。经验主义者喜欢尝试新事物,然后看看结果会怎样。

柏拉图是早期的理性主义者,而亚里士多德是早期的经验主义者。关于这个问题的辩论,真正开始于启蒙运动时期,每方有三位伟大的思想家:笛卡儿、斯宾诺莎、莱布尼茨是理性主义的代表,洛克、贝克莱、休谟则是经验主义的代表。

『终极算法』摘抄笔记-五大算法概述

符号学派

所有的信息都可以简化为操作符号,就像数学家那样,为了解方程,会用其他表达式来代替本来的表达式。符号学者明白你不能从零开始学习:除了数据,你还需要一些原始的知识。他们已经弄明白如何把先前存在的知识并入学习中,如何结合动态的知识来解决新问题。他们的主算法是逆向演绎,逆向演绎致力于弄明白为了使演绎进展顺利哪些知识被省略了,然后弄明白是什么让主算法变得越来越综合。

连结学派

学习就是大脑所做的事情,因此我们要做的就是对大脑进行逆向演绎。大脑通过调整神经元之间连接的强度来进行学习,关键问题是找到哪些连接导致了误差,以及如何纠正这些误差。联结学派的主算法是反向传播学习算法,该算法将系统的输出与想要的结果相比较,然后连续一层一层地改变神经元之间的连接,目的是为了使输出的东西接近想要的东西。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×