R简介和向量

1.R简介

R是S语言的一种实现。S语言是由 AT&T贝尔实验室开发的一种用来 进行数据探索、统计分析、作图的解释型语言。最初S语言的实现版 本主要是S-PLUS。S-PLUS是一个商业 软件,它基于S语言,并由 MathSoft公司的统计科学部进一步完善。后来Auckland大学的 RobertGentleman 和 Ross Ihaka 及其他志愿人员开发了一个R系 统。R的使用与S-PLUS有很多类似之处,两个软件有一定的兼容性。

 R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费 、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具

R是一套完整的数据处理、计算和制图软件系统。其功能包括:数据存储和处理系 统;数组运算工具(其向量、矩阵运算方面功能尤其强大);完整连贯的统计分析工 具;优秀的统计制图功能;简便而强大的编程语言:可操纵数据的输入和输入,可实 现分支、循环,用户可自定义功能。      

R是一个免费的自由软件,它有UNIX、LINUX、MacOS和WINDOWS版本,都是 可以免费下载和使用的,在那儿可以下载到R的安装程序、各种外挂程序和文档。在R的 安装程序中只包含了8个基础模块,其他外在模块可以通过CRAN获得。

R的特点

1.有效的数据处理和保存机制。

2.拥有一整套数组和矩阵的操作运算符。

3.一系列连贯而又完整的数据分析中间工具。

4.图形统计可以对数据直接进行分析和显示,可用于多种图形设备。

5.一种相当完善、简洁和高效的程序设计语言。它包括条件语句、循环语句、用户自 定义的递归函数以及输入输出接口。

6.R语言是彻底面向对象的统计编程语言。

7.R语言和其它编程语言、数据库之间有很好的接口。

8.R语言是自由软件,可以放心大胆地使用,但其功能却不比任何其它同类软件差。

9.R语言具有丰富的网上资源


2.向量


2.1   向量定义

具有大小方向的量


2.2   生成向量:

2.2.1   c()

> c(1,4,3,5,6)

[1] 1 4 3 56         

2.2.2   a:b

> 1:7 

[1] 1 2 3 4 5 6 7

这两个效果都是产生向量

2.2.3   seq() 

 >seq(2,10)  产生向量元素从2到10的向量

[1]  2  3  4 5  6  7  8  9 10

>seq(2,10,by=2)    产生从2到10间隔为2的向量元素

[1]  2  4  6  8 10

间隔是2   生成的向量的元素是2+2n<=10  其中n=(0,1,2……)  如果没有by=2,那么缺省值by=1 

>seq(2,10,length=6)     从2到10均匀产生6个向量元素

[1]  2.0  3.6  5.2 6.8  8.4 10.0

一共产生6个向量元素 其中第一个为向量元素为2,最后一个向量元素10,从2到10均分成6份

这个函数的by属性和length属性不能共存  这俩属性有冲突   :上面两个例子

2.2.4   letters

它不是一个函数  是26字母的数据集  多余的用NA表示

>letters[1:26]           产生26英文字母

 [1] "a" "b""c" "d" "e" "f" "g""h" "i" "j" "k" "l""m" "n" "o" "p" "q" "r"

[19] "s" "t""u" "v" "w" "x" "y""z"

>letters[1:30]

 [1] "a" "b""c" "d" "e" "f" "g""h" "i" "j" "k" "l""m" "n" "o" "p" "q" "r""s" "t" "u" "v" "w""x" "y"

[26] "z" NA  NA NA  NA

产生26个英文字母,多余的用NA表示


2.3   向量操作

2.3.1   which()

x=seq(2,20,3)       产生从2到20间隔为3的向量元素

> x

[1]  2  5  811 14 17 20

>which.max(x)          which.max(x)返回最大元素坐标    

[1] 7

>which.min(x)          which.min(x)返回最小元素下标

[1] 1

>which(x==11)         which(x==11)返回向量元素为11的元素下标

[1] 4

>which(x>11)          which(x>11)返回向量元素大于11的元素下标

[1] 5 6 7

which(x)函数返回向量元素下标

2.3.2   rev()

向量的元素逆置

> x=c(1,4,3,2,6,8)

> x

[1] 1 4 3 2 6 8

> rev(x)

[1] 8 6 2 3 4 1

2.3.3   sort()

向量的元素从小到大排序

> x=c(1,4,3,2,6,8)

> x

[1] 1 4 3 2 6 8

> sort(x)

[1] 1 2 3 4 6 8


 补:

数组                          

一系列标量的集合,在R中是指数字的集合在R中先生成向量然后在转换成数组

X=c(1:10)生成一个向量  用dim(x)<-c(2,5) 其中c中的2是生成数组的行5是生成数组的列 

> x=c(1:10)

> is.array(x)

[1]FALSE        x不是数组

> dim(x)=c(2,5)   将x转化成一个二维数组

> is.array(x)      x是数组

[1] TRUE

> x

     [,1]  [,2]  [,3]   [,4]  [,5]

[1,]   1    3    5   7    9

[2,]   2    4    6    8   10

生成一个二维数组





 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值