《R实战》读书笔记二
第一章 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实战》读书笔记二的更多相关文章
- 深入理解Java虚拟机 -- 读书笔记(1):JVM运行时数据区域
深入理解Java虚拟机 -- 读书笔记:JVM运行时数据区域 本文转载:http://blog.csdn.net/jubincn/article/details/8607790 本系列为<深入理 ...
- 【Todo】深入理解Java虚拟机 读书笔记
有一个在线系列地址 <深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)> http://book.2cto.com/201306/25426.html 已经下载了这本书(60多M ...
- 深入理解Java虚拟机读书笔记5----虚拟机字节码执行引擎
五 虚拟机字节码执行引擎 1 运行时栈帧结构 ---栈帧是用于支持虚拟机进行方法调用和方法执行的数据结构,是虚拟机运行时数据区中的虚拟机栈的栈元素. ---栈帧中存储了方法的局部变 ...
- 深入理解Java虚拟机--阅读笔记二
垃圾收集器与内存分配策略 一.判断对象是否已死 1.垃圾收集器在对堆进行回收前,要先判断对象是否已死.而判断的算法有引用计数算法和可达性分析算法: 2.引用计数算法是给对象添加引用计数器,有地方引用就 ...
- 深入理解Java虚拟机读书笔记8----Java内存模型与线程
八 Java内存模型与线程 1 Java内存模型 ---主要目标:定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节. ---此处的变量和J ...
- 深入理解Java虚拟机读书笔记7----晚期(运行期)优化
七 晚期(运行期)优化 1 即时编译器(JIT编译器) ---当虚拟机发现某个方法或代码块的运行特别频繁时,就会把这些代码认定为“热点代码”,包括被多次调用的方法和被多次执行的循环体. ...
- 深入理解Java虚拟机读书笔记4----虚拟机类加载机制
四 虚拟机类加载机制 1 类加载机制 ---概念:虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型. -- ...
- 深入理解Java虚拟机读书笔记3----类文件结构
三 类文件结构 1 Java虚拟机的两种中立特性 · 平台无关性 · 语言无关性 实现平台无关性和语言无关性的基础是虚拟机和字节码存储格式(Class文件). 2 Clas ...
- 深入理解Java虚拟机读书笔记1----Java内存区域与HotSpot虚拟机对象
一 Java内存区域与HotSpot虚拟机对象 1 Java技术体系.JDK.JRE? Java技术体系包括: · Java程序设计语言: · 各种硬件平台上的 ...
- 深入理解java虚拟机读书笔记--java内存区域和管理
第二章:Java内存区域和内存溢出异常 2.2运行时数据区域 运行时数据区分为方法区,堆,虚拟机栈,本地方法栈,程序计数器 方法区和堆是线程共享的区域 虚拟机栈,本地方法栈,程序计数器是数据隔离的数据 ...
随机推荐
- java开发过程中几种常用算法
排序算法 排序算法中包括:简单排序.高级排序 简单排序 简单排序常用的有:冒泡排序.选择排序.插入排序 冒泡排序代码如下: private static void bubbleSrot(int[] a ...
- CentOS 7在grub rescue模式中修复系统
安装完CentOS 7后 修改硬盘分区后,系统重启后,无法正常启动,进入grub rescue模式: 网上大多数centos grub rescue的资料应该是Centos 7之前的,其中提到的命令很 ...
- (noip模拟十七)【BZOJ3930】[CQOI2015]选数-容斥水法
Description 我们知道,从区间[L,H](L和H为整数)中选取N个整数,总共有(H-L+1)^N种方案.小z很好奇这样选出的数的最大公约数的规律,他决定对每种方案选出的N个整数都求一次最大公 ...
- bzoj2333 [SCOI2011]棘手的操作(洛谷3273)
题目描述 有N个节点,标号从1到N,这N个节点一开始相互不连通.第i个节点的初始权值为a[i],接下来有如下一些操作:U x y: 加一条边,连接第x个节点和第y个节点A1 x v: 将第x个节点的权 ...
- luogu P4430 小猴打架(prufer编码与Cayley定理)
题意 n个点问有多少种有顺序的连接方法把这些点连成一棵树. (n<=106) 题解 了解有关prufer编码与Cayley定理的知识. 可知带标号的无根树有nn-2种.然后n-1条边有(n-1) ...
- BZOJ 1444 [JSOI2009]有趣的游戏 (Trie图/AC自动机+矩阵求逆)
题目大意:给你$N$个长度相等且互不相同的模式串,现在有一个字符串生成器会不断生成字符,其中每个字符出现的概率是$p_{i}/q_{i}$,当生成器生成的字符串包含了某个模式串,则拥有该模式串的玩家胜 ...
- 每个人都能实现的vue自定义指令
前文 先来bb一堆废话哈哈.. 用vue做项目也有一年多了.除了用别人的插件之外.自己也没尝试去封装指令插件之类的东西来用. 刚好最近在项目中遇到一个问题.(快速点击按钮多次触发多次绑定的方法),于是 ...
- 紫书 习题 8-23 UVa 1623 (set妙用 + 贪心)
这道题我是从样例中看出思路了 2 4 0 0 1 1 看这组数据, 输出的是No, 为什么呢?因为两个1之间没有神龙喝水, 所以一定会有水灾. 然后就启发了我,两次同一个湖的降水之间必须至少有一次神龙 ...
- ocrsearch的横屏转竖屏的解决方案
//这是其中解决预览图的一部分(坑了好久的)@Override public void onPreviewFrame(byte[] data, Camera camera) { Size previe ...
- DataTable 数据导入MS ACCESS 数据库中 数字类型字段为空的解决办法
string strSql = "insert into GongCheng (GCSY,GCBH,GCBHOLD,GCMC,GCKCJD,GCJSDW,GCSJDW,GCKCDW,GCSG ...