R语言是针对统计分析和数据科学的功能全面的开源语言,R的官方网址:http://www.r-project.org/  在Windows环境下安装R是很方便的

R语言的两种运行模式:交互模式和批处理模式;顾名思义交互模式是一条输入一条输出,而批处理模式则可让处理过程自动化

批处理模式演示:

pdf("demo.pdf")    #创建demo.pdf文件
hist(rnorm(1000)) #调用hist()画直方图,调用rnorm()生成随机数
dev.off() #将实际文件输出到磁盘上
运行打开PDF文件后的效果

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }


.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

 

在交互模式下工作

①创建一个简单的数据集

a<-c(110,120,114,119)

从上面可以看出,在R语言中,标准的赋值语句是 “ <- ”,当然用“ = ”也是可以得,但不推荐;“ c “(concatenate)表示连接,把四个数字连接成一个向量

可以把向量再连接成向量,比如

> b<-c(a,a,a)
查看b中的内容
> b
[1] 110 120 114 119 110 120 114 119 110 120 114 119

R语言的很多特性和Python语言很像,它们都是

②访问向量中的单个元素,访问方式和其他语言中访问数组类似,只不过索引是从 1开始计算

访问a中的第三个元素

> a[3]
[1] 114
提取b子集的
> b[3:6]
[1] 114 119 110 120
上面的代码 提取了b向量中的第三个元素到第六个元素

③调用库函数

在R语言中,可以很方便的计算出数据集的各种统计结果,比如

> mean(b)
[1] 115.75
> sd(b)
[1] 4.202272

上面代码计算了b数据集的均值和标准差,当然也可以把结果存到变量中,而不是直接输出

④使用内置数据集

运行下列函数,可以得到一份R语言内置数据集的列表

> data()

⑤退出R控制台

使用函数q() 会提示是否保存变量,退出R控制台

 

编写函数

函数是R语言的核心,我们先来编写一个函数

> #计算整数集中奇数的个数,并把结果存入oddcout变量中
> oddcout<-function(x){
+ i<-0 #初始化i
+ for(n in x){
+ if(n%%2==1) i<-i+1 #判个并计算个数
+ }
+ return(i)
+ }
定义数据集,调用函数,输出结果
> k<-c(1,2,3,4,5,6,7,8,9,10)
> oddcout(k)
[1] 5
R语言中重要数据结构
标量
标量即单个数,由于R语言是统计语言,所以单个数值在R语言中无意义,单个数值实际上是一元向量
字符串
字符串是字符模式的单元素向量,比如
> strs<-"this is a demo"
> mode(strs)
[1] "character"
上面代码用mode()函数来识别,向量的模式
矩阵
矩阵在数学中的定义是指纵横排列的二维数据表格,,在R语言中附加了两个属性:行数和列数
创建矩阵:
按行绑定
> m<-rbind(c(1,3,5),c(2,4,6))
> m
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
按列绑定
> n<-cbind(c(1,3,5),c(2,4,6))
> n
[,1] [,2]
[1,] 1 2
[2,] 3 4
[3,] 5 6

使用rbind()函数把向量按行结合成矩阵,使用cbind()函数把向量按列结合成矩阵。矩阵中元素的访问使用双下标进行索引,不管是按行绑定还是按列绑定,访问都是先写出行号 ,在写出列号

> m[1,2]
[1] 3
提取子矩阵
> m[,2]
[1] 3 4 #提取m矩阵的第二列

 

 

 

 

 

R语言快速入门的更多相关文章

  1. R语言快速入门上手

    导言:     较早之前就听说R是一门便捷的数据分析工具,但由于课程设计的原因,一直没有空出足够时间来进行学习.最近自从决定本科毕业出来找工作之后,渐渐开始接触大数据行业的技术,现在觉得是时候把R拿下 ...

  2. c语言快速入门3

    如果你想快速入门计算机,可以参考我的上一篇帖子,先了解一些必备的软知识,然后再来进行语言的快速入门 计算机入门基础知识 c语言快速入门1 c语言快速入门2 3.4.1 字符和字符串 字符:'' 单个  ...

  3. c语言快速入门2

    如果你想快速入门计算机,可以参考我的上一篇帖子,先了解一些必备的软知识,然后再来进行语言的快速入门 计算机入门基础知识 c语言快速入门1 1.1.12 函数的概念 函数的定义:c语言的基本单位,c语言 ...

  4. Swift语言快速入门

    Swift语言快速入门(首部同步新版官方API文档和语法的Swift图书,确保代码可编译,作者专家在线答疑,图书勘误实时跟进) 极客学院 编著   ISBN 978-7-121-24328-8 201 ...

  5. [SQL]SQL语言入门级教材_SQL语言快速入门(五)

    SQL语言快速入门(一) SQL是英文Structured Query Language的缩写,意思为结构化查询语言. SQL语言的主要功能就是同各种数据库建立联系,进行沟通.按照ANSI(美国国家标 ...

  6. go语言快速入门教程

    go快速入门指南 by 小强,2019-06-13 go语言是目前非常火热的语言,广泛应用于服务器端,云计算,kubernetes容器编排等领域.它是一种开源的编译型程序设计语言,支持并发.垃圾回收机 ...

  7. R语言基础入门之二:数据导入和描述统计

    by 写长城的诗 • October 30, 2011 • Comments Off This post was kindly contributed by 数据科学与R语言 - go there t ...

  8. c语言快速入门1

    如果你想快速入门计算机,可以参考我的上一篇帖子,先了解一些必备的软知识,然后再来进行语言的快速入门 计算机入门基础知识 目录 1.1.1    计算机与程序 现代计算机可以自动完成计算任务 程序就是按 ...

  9. R 语言 相关入门资料

    <R语言基础语法入门>: http://www.xueqing.tv/upload/april-training/day1/index.html#1

随机推荐

  1. extjs tablepanel 高度自适应有关问题

    extjs tablepanel 高度自适应问题 项目中为了给客户好点的功能切换体验,想到了用extjs的tabpanel 在页面中用了tabpanel后,高度新打开的tab页的iframe 的高度总 ...

  2. Linux device tree 简要笔记

    第一.DTS简介     在嵌入式设备上,可能有不同的主板---它们之间差异表现在主板资源不尽相同,比如I2C.SPI.GPIO等接口定义有差别,或者是Timer不同,等等.于是这就产生了BSP的一个 ...

  3. C++ Bit Fields

    http://msdn.microsoft.com/en-us/library/ewwyfdbe%28v=vs.71%29.aspx Note An unnamed bit field of widt ...

  4. WEB标准系列-HTML元素嵌套

    转:http://www.smallni.com/element-nesting/ 先来看以下这样一段代码: <ul> <li><h4><a href=&qu ...

  5. SVN备份批处理文件

    SVN备份批处理文件,亲测可用 另外,备份文件时获取文件名%%~ni 可改为%%~nxi,以避免文件名中有“.”号时,读取不完成,将.后面的当作后缀名 需要使用hotcopy 时,可以将关键代码进行相 ...

  6. 【C#】ASP.NET网页中添加单点登录功能

    背景 首先,要说明的是,原先需求定义的是,同一个账号只能同时有一个人来登录,如果另外一个登录的话,前一个登陆者就自动被踢掉.本来原先要做成存储到服务器的数据库中,但是后来如果是非正常退出的话 下次就没 ...

  7. javascript中字符串格式转化成json对象记录

    什么是JSON JSON(JavaScript Object Notation)是一种优美的JavaScript对象创建方法.JSON也是一种轻量级数据交换格式.JSON非常易于人阅读与编写,同时利于 ...

  8. 【JavaScript】HTML5存储方案

    1.Web SQL 2.IndexedDB 3.Local Storage 4.Session Storage 5.Cookies 6.Application Cache

  9. [AngularJS] Best Practise - Minification and annotation

    Annotation Order: It's considered good practice to dependency inject Angular's providers in before o ...

  10. SQLServer恢复表级数据

    最近几天,公司的技术维护人员频繁让我恢复数据库,因为他们总是少了where条件,导致update.delete出现了无法恢复的后果,加上那些库都是几十G.恢复起来少说也要十几分钟.为此,找了一些资料和 ...