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. Asp.net使用jQuery实现数据绑定与分页

    使用jQuery来实现Gridview, Repeater等服务器端数据展示控件的数据绑定和分页.本文的关注重点是数据如何实现数据绑定. Content jQuery的强大和可用性使得其迅速的流行起来 ...

  2. 编写高效的Android代码

    编写高效的Android代码 毫无疑问,基于Android平台的设备一定是嵌入式设备.现代的手持设备不仅仅是一部电话那么简单,它还是一个小型的手持电脑,但是,即使是最快的最高端的手持设备也远远比不上一 ...

  3. Redis 安装与简单示例 <第一篇>

    一.Redis的安装 Redis下载地址如下:https://github.com/dmajkic/redis/downloads 解压后根据自己机器的实际情况选择32位或者64位.下载解压后图片如下 ...

  4. [AngularJS] Using the Angular scope $destroy event and method

    With Angular scopes, you have access to a $destroy event that can be used to watch $scope events. Th ...

  5. 自增锁ID复用问题

    mysql> select * from pp; +----+------+ | id | name | +----+------+ | xx | | xx | | xx | | xx | | ...

  6. Linux内存管理学习笔记 转

    https://yq.aliyun.com/articles/11192?spm=0.0.0.0.hq1MsD 随着要维护的服务器增多,遇到的各种稀奇古怪的问题也会增多,要想彻底解决这些“小”问题往往 ...

  7. cocos2d-x在android下的编译

    $(call import-add-path,E:/cocos2d-2.0-x-2.0.3) include $(BUILD_SHARED_LIBRARY) http://www.cnblogs.co ...

  8. Python练习题 028:求3*3矩阵对角线数字之和

    [Python练习题 028] 求一个3*3矩阵对角线元素之和 ----------------------------------------------------- 这题解倒是解出来了,但总觉得 ...

  9. 对C++/CLR的一些评价

    我以后要是再用这东西,我自砍双手

  10. css文字截取

    给文字设置宽度 text-overflow:ellipsis;  //超出部分用...表示 white-space:nowrap; //禁止换行 overflow:hidden; //超出部分的文字隐 ...