第一章 R简单介绍

本章概要

1安装R

2理解R语言

3执行R程序

本章所介绍的内容概括例如以下。

一个典型的数据分析步骤如图1所看到的。

图1:典型数据分析步骤

简而言之,现今的数据分析要求我们从多种数据源中获取数据、数据合并、标注、清洗和分析。而且把分析的结果进行展示,形成报告或者系统。辅助决策。R可以满足现今数据分析的要求。

为什么用R?

R是一个适合统计分析和画图的环境与语言。它是开源、免费的。获得世界范围社区支持。

统计分析和画图工具已经非常多了。比如:SPSS。SAS。Excel,Stata和Minitab等。为什么还要用R呢?R的诸多特性,能够回答这个问题。

1)R是免费的,大多数统计工具都是商业化的,即要花钱。

2)R是一个功能强大全面的统计分析平台。一个典型的数据分析过程都能够用R来完毕。

3)R具有强大的画图能力。

4)R是一个可以进行交互式数据分析和探索的平台。

5)R是一个以easy且直观的方式编写统计方法的无与伦比的平台。

6)R实现了非常多高级统计方法。

7)R能够在多个系统上执行。

8)R对于不想编程的人,提供GUI,实现R所能做的事情。

获得和安装R

从网址http://cran.r-project.org获得R安装程序。

R工作

R是一个有大写和小写之分的解释型语言。你能够在命令提示符(>)每次输入一条命令或者在一个源文件里写好全部命令集。

R的赋值符号是”<-“。

> x <- rnorm(5)  # 向量x包括5个服从标准正态分布的随机数

R在Windows系统的GUI如图2所看到的。

图2:Windows系统下GUI

R实例一,数据集为10个婴儿年龄(单位:月)和体重(单位:千克)。

程序清单例如以下:

> Age <- c(1, 3, 5, 2, 11, 9, 3, 9, 12, 3)

> Weight <- c(4.4, 5.3, 7.2, 5.2, 8.5, 7.3, 6.0, 10.4, 10.2, 6.1)

> mean(Weight)

[1] 7.06

> sd(Weight)

[1] 2.077498

> cor(Age, Weight)

[1] 0.9075655

> plot(Age, Weight)

关于Age与Weight的散点图如图3所看到的。

图3:10个婴儿的Age-Weight散点图

退出界面,运行例如以下函数。

> q()

R帮助系统非常强大,通过帮助能够获得R中已安装包的函数的细节、參考和实例。R 中获得帮助的方法。

方法一:help.start()

方法二:help("foo")或者?foo

方法三:help.search("foo")或者??foo

方法四:example("foo")

方法五:RSiteSearch("foo")

方法六:apropos("foo",mode="function")

方法七:data()

方法八:vignette()

方法九:vignette("foo")

R 工作空间是R当前工作环境和用户定义的全部对象。

(向量、列表、数组、矩阵、数据框 和函数等)

管理R空间的一些函数。

函数一:getwd()

函数二:setwd("mydirectory")

函数三:list()

函数四:rm(objectname)

函数五:help(options)

函数六:options()

函数七:history(#)

函数八:savehistory("myfile")

函数九:loadhistory("myfile")

函数十:save.image("myfile")

函数十一:load("myfile")

函数十二:save(objectlist, file="myfile")

R实例二,数据集20个服从标准均匀分布的随机数

> setwd("E://myproject")

>options()

>options(digits=3)

>x <-  runif(20)

>summary(x)

>hist(x)

>savehistory(x)

>save.image()

>q()

R脚本输入方法,即source("myscript.R")

文本输出方法。即sink("myfilename")

图形输出方法,即pdf("xxx.pdf")或者png("xxx.png")或者jpeg("xxx.jpg")或者bmp("xxx.bmp")等。

R包

R功能之所以强大,原因之中的一个就是具有许多的功能扩展包。R包下载地址例如以下:

http://cran.r-project.org/web/packages/

为什么要用R包。

R包是R函数、数据,可编译代码的聚合。

.libPaths()  #显示包安装路径

library() # 查看已安装的包

search() #告知那些包已装载和能够使用

R软件安装完成后,自带包(标准包)有base。datasets,utils。grDevices。graphics。stats和methods。

安装包方法,即 install.packages("packagename")

更新包方法。即update.packages()

了解已安装包的具体信息方法,即installed.packages()

载入包(前提是该包已经安装)的方法,即library("packagename")

对新安装包的学习和认知方法,即help(package="packagename")

批处理

适合反复性工作

形式:R CMD BATCH options  infile  outfile

结果重用

f分析的结果能够保存。并作为下一次的输入。

R实例三。数据集R自带的mtcars。

程序清单:

>lmfit <- lm(mpg ~ wt, data=mtcars)

>summary(lmfit)

>plot(lmfit)

>predict(lmfit, mynewdata)

对待大数据集

R所处理的一切都视为对象代之,而且是把对象载入到内存中进行操作和处理。

因而,R能处理多大的数据集取决于作业环境的内存容量。

使用R进行数据分析,须要考虑两点,一是数据的大小。二是统计分析的方法。

R可以处理GB级到TB级数据。

但特殊过程特殊处理。

R实例

秉承”学以致用、活学活用“的原则。以一个综合实例融合上述内容。

R综合实例,程序清单例如以下。

>help.start()

>library()

>install.package("vcd")

>help(package="vcd")

>library(vcd)

> help(Arthritis)

> Arthritis

> example(Arthritis)

>q()

执行效果如图4所看到的。

总结

1 )R的优势。

2 )因R非常适合理解数据,吸引非常多用户群(学生、研究人员、统计学者、数据分析师等)。

3​)RGUI、R安装、R包、R程序、R帮助、R结果保存、R批处理等内容。

Resoure:

1.http://www.wangluqing.com/2014/06/r-in-action-note2/

2.《R in action》第一部分的第一章

《R实战》读书笔记二的更多相关文章

  1. 深入理解Java虚拟机 -- 读书笔记(1):JVM运行时数据区域

    深入理解Java虚拟机 -- 读书笔记:JVM运行时数据区域 本文转载:http://blog.csdn.net/jubincn/article/details/8607790 本系列为<深入理 ...

  2. 【Todo】深入理解Java虚拟机 读书笔记

    有一个在线系列地址 <深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)> http://book.2cto.com/201306/25426.html 已经下载了这本书(60多M ...

  3. 深入理解Java虚拟机读书笔记5----虚拟机字节码执行引擎

    五 虚拟机字节码执行引擎   1 运行时栈帧结构     ---栈帧是用于支持虚拟机进行方法调用和方法执行的数据结构,是虚拟机运行时数据区中的虚拟机栈的栈元素.     ---栈帧中存储了方法的局部变 ...

  4. 深入理解Java虚拟机--阅读笔记二

    垃圾收集器与内存分配策略 一.判断对象是否已死 1.垃圾收集器在对堆进行回收前,要先判断对象是否已死.而判断的算法有引用计数算法和可达性分析算法: 2.引用计数算法是给对象添加引用计数器,有地方引用就 ...

  5. 深入理解Java虚拟机读书笔记8----Java内存模型与线程

    八 Java内存模型与线程   1 Java内存模型     ---主要目标:定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节.     ---此处的变量和J ...

  6. 深入理解Java虚拟机读书笔记7----晚期(运行期)优化

    七 晚期(运行期)优化 1 即时编译器(JIT编译器)     ---当虚拟机发现某个方法或代码块的运行特别频繁时,就会把这些代码认定为“热点代码”,包括被多次调用的方法和被多次执行的循环体.     ...

  7. 深入理解Java虚拟机读书笔记4----虚拟机类加载机制

    四 虚拟机类加载机制 1 类加载机制     ---概念:虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型.     -- ...

  8. 深入理解Java虚拟机读书笔记3----类文件结构

    三 类文件结构 1 Java虚拟机的两种中立特性     · 平台无关性     · 语言无关性     实现平台无关性和语言无关性的基础是虚拟机和字节码存储格式(Class文件).   2 Clas ...

  9. 深入理解Java虚拟机读书笔记1----Java内存区域与HotSpot虚拟机对象

    一 Java内存区域与HotSpot虚拟机对象 1 Java技术体系.JDK.JRE?     Java技术体系包括:         · Java程序设计语言:         · 各种硬件平台上的 ...

  10. 深入理解java虚拟机读书笔记--java内存区域和管理

    第二章:Java内存区域和内存溢出异常 2.2运行时数据区域 运行时数据区分为方法区,堆,虚拟机栈,本地方法栈,程序计数器 方法区和堆是线程共享的区域 虚拟机栈,本地方法栈,程序计数器是数据隔离的数据 ...

随机推荐

  1. windows2008 虚拟机64位的操作系统安装32位的应用程序

    64位的操作系统安装32位的应用程序: 安装成功但是使用有问题 报错: 最终解决: 在一台物理机的win7上面安装该软件. 然后把安装好的文件全部拷贝到win2008虚拟机上面 启动,使用 多ok了! ...

  2. Python3基础笔记---线程与进程

    参考博客:Py西游攻关之多线程(threading模块) 一.并发与并行的区别 并发:交替做不同事的能力并行:同时做不同事的能力 行话解释:并发:不同代码块交替执行的性能并行:不同代码块同时执行的性能 ...

  3. React 第三天

    第三天 01:在组件中使用style行内对象并封装样式对象: CmtItem.jsx: import React from 'react' //第一层封装 将样式对象和UI结构分离 // const ...

  4. [NOIP补坑计划]NOIP2013 题解&做题心得

    场上预计得分:100+100+100+100+100+60=560(省一分数线410) 五道傻逼题+一道大搜索题…… 题解: D1T1 转圈游戏 题面 水题送温暖~ #include<algor ...

  5. luogub P4886 快递员(点分治)

    记得是9月月赛题,当时做的时候觉得跟ZJOI2015幻想乡战略游戏那道题很像???,就写了,然后就写挂了... 我们发现假设当前点为根,我们算出\(m\)次询问中最远的\(a\)对点,如果这\(a\) ...

  6. Python 语言中经常有疑惑的地方

    *)关于for循环中range(2),i到底是从0还是1开始.特别是在用数组的长度作为range的参数的时候经常会犯糊涂 #首先 >>> for i in range(5): ... ...

  7. hadoop hdfs空间满后重新启动不了

    server检查的时候,发现存在HDFS上的文件无法同步.再发现hadoop停掉了. 进行重新启动,重新启动不成功. 查看hadoop日志: 2014-07-30 14:15:42,025 INFO ...

  8. bzoj1497: [NOI2006]最大获利(最大权闭合子图)

    1497: [NOI2006]最大获利 题目:传送门 题解: %%%关于最大权闭合子图很好的入门题 简单说一下什么叫最大权闭合子图吧...最简单的解释就是正权边连源点,负权边连汇点(注意把边权改为正数 ...

  9. 面向对象(OOP)五大基本原则

    书单 <Object-Oriented Analysis & Design with Application>:Grady Booch, 下载地址:object-oriented- ...

  10. Android 自定义EditText实现类iOS风格搜索框

    最近在项目中有使用到搜索框的地方,由于其样式要求与iOS的UISearchBar的风格一致.默认情况下,搜索图标和文字是居中的,在获取焦点的时候,图标和文字左移.但是在Android是并没有这样的控件 ...