R 语言入门

R 语言入门本文是 R 语言的入门教程 涵盖了 R 语言的基础知识 包括赋值 向量 矩阵 数据框 列表的操作 以及简单的绘图

大家好,欢迎来到IT知识分享网。

R语言入门

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

本博客致力于推广并领广大编程、建模爱好者入门。

赋值

R中使用”=“与”<-“进行赋值,其中”<-“快捷键是alt + -.

>a <- 1 >b <- 2 a+b=3 

向量

向量是 R 语言中最基本的数据类型,在 R 中没有单独的标量

> a <- c(1,3,4) > a [1] 1 3 4 

向量的索引
利用python中索引的思想,我们可以找出向量中的下标筛选
但需要注意的是,区别于其他编程语言,R中的索引是从1开始的,而不是0

> a[1:3] [1] 1 3 4 
> a[-2] [1] 1 4 

除了下标筛选,我们还可以利用算术基本逻辑来进行索引

> a[a>2] [1] 3 4 

为了理解算术基本逻辑,我们可以到底看看a>2的本质是什么:

> a>2 [1] FALSE TRUE TRUE 

可以看出,a>2筛选的本质就是选出向量中Boolean值为TRUE

向量的合并
利用向量索引来将其合并成新的向量

> b <- c(a[1:2],5,6,9,a[3]) 

在R中,向量还有一个特别有意思的规则,在实现向量的相互操作时,如果向量长度不足,则会进行长度自动补齐,但仅限于整除倍数

> a+b [1] 2 6 9 7 12 8 

(2).若不可整除:

> c <- c(3,4,5,1) > a+c [1] 4 7 9 2 Warning message: In a + c : 长的对象长度不是短的对象长度的整倍数 

R中关于向量的函数也有很多大家可以在这篇BLOG里学习: R向量函数的使用

矩阵

在R中,矩阵,本质来说就时多维的向量。

现在我们来看一下如何创建一个矩阵:

> c <- matrix(c(1,3,4,5,6,7,1,2,3),nrow=3) > c [,1] [,2] [,3] [1,] 1 5 1 [2,] 3 6 2 [3,] 4 7 3 

这里默认是先排满竖排,如果你想要先排满横排,则需要在后面加入 byrow = TRUE 的参数
如:

> c <- matrix(c(1,3,4,5,6,7,1,2,3),nrow=3,byrow=TRUE) > c [,1] [,2] [,3] [1,] 1 3 4 [2,] 5 6 7 [3,] 1 2 3 

矩阵检索
如向量一样,矩阵也可以利用’下标’进行索引:
例如:

> c[1:3,3] [1] 4 7 3 

可以看出,索引中前一项是选择竖排,后一项是选择横排,因为横排只选择了一个,所以矩阵就降为成了向量,更可以看出矩阵本质其实就是多维向量。

数据框

数据框与矩阵基本类似,在R中,数据库可以是不同类型的数据(矩阵中只能是数字)。
在R中,如果将Excel文件导入R变会得到数据框,一般来说,数据库每一行代表一个样本,每一列代表一个变量。
这里我们以R内置的经典IRIS数据集为例子: IRIS百科

> data("iris") > head(iris) Sepal.Length Sepal.Width Petal.Length Petal.Width Species 1 5.1 3.5 1.4 0.2 setosa 2 4.9 3.0 1.4 0.2 setosa 3 4.7 3.2 1.3 0.2 setosa 4 4.6 3.1 1.5 0.2 setosa 5 5.0 3.6 1.4 0.2 setosa 6 5.4 3.9 1.7 0.4 setosa 

我们利用data函数导入iris数据集,用head函数表示前面几行

利用summary函数我们可以简单对导入的数据集分析,如下:

> summary(iris) Sepal.Length Sepal.Width Petal.Length Petal.Width Min. :4.300 Min. :2.000 Min. :1.000 Min. :0.100 1st Qu.:5.100 1st Qu.:2.800 1st Qu.:1.600 1st Qu.:0.300 Median :5.800 Median :3.000 Median :4.350 Median :1.300 Mean :5.843 Mean :3.057 Mean :3.758 Mean :1.199 3rd Qu.:6.400 3rd Qu.:3.300 3rd Qu.:5.100 3rd Qu.:1.800 Max. :7.900 Max. :4.400 Max. :6.900 Max. :2.500 Species setosa :50 versicolor:50 virginica :50 

我们可以看到,利用summary函数可以分析该数据集最大值,最小值,中值,标准差……

列表

与python相同,R中的列表作为一种数据结构可以储存不同的数据类型,例如:

> a <- list(a,3,tony="is_handsome") > a [[1]] [1] 1 3 4 [[2]] [1] 3 $tony [1] "is_handsome" 

这个例子中我们在列表中储存了vector,int,hash tables 数据类型
列表检索
列表索引如python中大致相同,如:

> b <- list(a,3,tony="is_handsome") > b[[2]] [1] 3 > b$tony [1] "is_handsome" 

简单的绘图
利用向量绘图

> p <- c(1,2,3,4,5,6,7,8) > plot(p[1:4],p[5:8]) 

绘图结果

R Studio

R本身的GUI可以说是非常朴素,如图所示:R GUI

如今有许多供R使用的IDE,推荐使用R Studio,它可以供你实时看变量,代码,制图,终端,环境。也可以直接用它下载安装各种扩展包,针不戳!如图所示:在这里插入图片描述

后记

编者的话

由于编者只是在读学生,这篇博客难免会出现纰漏,望君见谅。若能在评论区雅正,感激不尽!

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/142784.html

(0)
上一篇 2025-05-07 22:26
下一篇 2025-05-07 22:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信