R 语言入门

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

而R利用负数索引却不像python中从后往前,而是删除向量中某量
例如:

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

例如:
(1).可整除的两向量:

> 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,它可以供你实时看变量,代码,制图,终端,环境。也可以直接用它下载安装各种扩展包,针不戳!如图所示:在这里插入图片描述

后记

本博客只是对R的入门介绍并使用,若需要进一步练习,可以下载相应的扩展包,编者推荐:swirl包
Github上有许多对于R进行更深入的学习的免费课程

编者的话

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

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
R语言是一种功能强大的开源编程语言和环境,广泛应用于数据分析和统计建模。入门R语言的过程,我可以分享一些我自己的笔记和经验。 首先,入门R语言需要准备好安装R语言和RStudio的环境。RStudio是R语言的一个集成开发环境,提供了更加友好的界面和便捷的操作。安装完毕后,我们可以打开RStudio开始学习。 接下来,建议通过在线教程、视频教程或者书籍来学习R语言的基础知识和语法。了解R语言的数据结构,如向量、矩阵、数据帧等,掌握R语言的基本运算和函数操作等非常重要。 在学习过程中,我发现通过实际操作来巩固知识是非常有效的。可以尝试使用R语言处理一些简单的数据集,如读取数据、数据清洗和数据可视化等。这样可以更好地理解R语言的功能和应用。 另外,熟悉R语言的常用包和函数也是非常重要的。R语言有很多强大的数据分析包,如ggplot2、dplyr和tidyr等。通过学习它们的基本用法和常见函数的操作,可以更好地进行数据分析和统计建模。 同时,我也建议多参与R语言的相关社区和论坛,与其他R语言爱好者交流和分享经验。这不仅可以解决遇到的问题,还能学习到更多实际案例和应用技巧。 最后,持续学习和实践是掌握R语言的关键。不断地阅读学习材料、参与项目和练习编程,都是提高R语言技能的有效途径。 希望以上简要的笔记对入门R语言数据分析有所帮助。R语言具有强大的数据分析能力,相信通过不断学习和实践,你可以在数据分析领域取得更好的成果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值