大家好,欢迎来到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使用的IDE,推荐使用R Studio,它可以供你实时看变量,代码,制图,终端,环境。也可以直接用它下载安装各种扩展包,针不戳!如图所示:
后记
编者的话
由于编者只是在读学生,这篇博客难免会出现纰漏,望君见谅。若能在评论区雅正,感激不尽!
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/142784.html