R语言基础语法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言基础语法相关的知识,希望对你有一定的参考价值。

      学习一门新的语言,率先学习输出hello world.我们就从这里开始学习.

首先打开RStudio这个IDE,然后在左边输入:

1 > mystr <- "hello world"
2 > print(mystr)

如图所示,当我们在左边撸完之后,右边可以看到我们刚才的变量.

技术分享

这里,关于R语言中的赋值语句是: 变量  <-  值,不同其他语言的=,但是也可以使用=赋值,但是不推荐.输出语句是print(值)

技术分享

我们可以使用class()方法查看它的类型.如:

技术分享

同时,在R语言中,#是注释,不像其他语言的//或者/**/,如我们创建一个方法a,然后为该方法写一个注释:

技术分享

 

 

     在R语言中,R语言与其他编程语言(如C语言和Java)相反,变量不会被声明为某些数据类型。 变量被分配给R对象,并且R对象的数据类型转变为变量的数据类型。 有很多类型的R对象。 常用R对象是 

  • 向量
  • 列表
  • 矩阵
  • 数组
  • 因子
  • 数据帧

这些对象中最简单的是向量对象,并且向量对象有六种数据类型的原子向量,也称为六类向量。 其他R对象是建立在原子向量之上的。六类向量类型如下表所示 

 

数据类型示例验证代码输出结果
逻辑 TRUE, FALSE v <- TRUE ; print(class(v)); [1] "logical"
数字值 1, 2.3, 92 v <- 23.5 ; print(class(v)); [1] "numeric"
整数 1L, 22L, 0L v <- 2L ; print(class(v)); [1] "integer"
复数 3 + 2i v <- 2+5i ; print(class(v)); [1] "complex"
字符 ‘a’ , “abc”, “TRUE”, ‘12.2’ v <- "TRUE" ; print(class(v)); [1] "character"
原生 "Hello"存储值为: 48 65 6c 6c 6f v <- charToRaw("Hello"); print(class(v)); [1] "raw"

 

R编程中,非常基本的数据类型是叫作向量的R对象,它们保存不同类的元素,如上所示。 请注意在R语言中,类型的数量不仅限于上述六种类型,还有向量,列表等等,接下来我们就详细学习这几个类型.

 

1.向量:

 --只能包含同一类型的对象

 --创建向量

 创建一个向量,一个有三种方式. 1.使用vector() 2.直接赋值 3.c().如:

技术分享 

 在R中,系统也会对向量中的不同数据类型进行转换,转换为同一类型.

如,向量x3赋值时,是逻辑TRUE,数值1,字符abc,在输出时,系统全部自动转换为字符表示.

    向量x4赋值时,是字符a,b,c,我们可以全部转为字符类型.但是会产生缺省值.

技术分享

 技术分享

2.矩阵(matrix)

  --向量 + 维度属性(整数向量:nrow,ncol)

  --创建矩阵:1.使用matrix() 2.先来一个向量在为其添加维度属性.

这里,可以看到一个3行,2列,缺省值NA的矩阵

技术分享

技术分享

.然后,我们再创建一个矩阵,并且为其赋值1到6,其中我们看出来,是先填满第一列,然后再第二列....

技术分享

 其中,矩阵有一个dim(),可以显示该矩阵有几行几列.如x1有三行两列.

技术分享

 该矩阵的属性可以通过attributes()显示

技术分享 

这里,正如前面所说矩阵=向量+维度信息.因此我们可以先创建一个向量,然后为它添加维度信息来创建一个矩阵,如

技术分享 

在学习下如何把两个矩阵拼接为一个矩阵.

矩阵y,y1:

技术分享

技术分享

把两个矩阵按照行来拼接:rbind()

技术分享

把两个矩阵按照列来拼接:cbind()

技术分享

3.数组(array)

 -- 与矩阵类似,只是维度可以大于等于2

 --创建矩阵:使用array()

创建一个1到24的数组,dim = c(4,6)是指定他有四行,六列.该维度等于2,也可以说是一个矩阵.如:

技术分享

 创建一个1到24的数组,dim = c(2,3,4)是指定维度是2,3,4.他的维度大于2,是一个典型的数组.如:

技术分享

4.列表(list)

 --可以包含不同类型的对象

 -- 创建:list()

创建一个list,元素为字符a,数字12,整数2,复数2+3i,逻辑TRUE.

技术分享

 

为每一个元素去个别名.

技术分享 

创建一个list,元素分别为两个向量.

技术分享

5.因子(factor)

 --是使用向量创建的R对象.

 --创建 factor()

创建一个因子,标示一组人的男女,levels默认

技术分享

 

levels自己制定

技术分享

查看各元素个数:table()

技术分享

levels是因子的属性,我们去掉该属性看一下.unclass()

技术分享

 

 

6.数据帧

 -- 是表格数据对象.其中各列对象可以不同.

 --创建:data.frame()

技术分享

 

输出:

技术分享

以上是关于R语言基础语法的主要内容,如果未能解决你的问题,请参考以下文章

JSP语法

JSP 语法

r R有用的代码片段

r R有用的代码片段

在下面的代码片段中的剩余 ='passthrough' 处的代码中出现语法错误

R语言笔记之语法篇