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

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

 > mystr <- "hello world"
 > 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语言基础语法的更多相关文章

  1. R语言基础:数组&列表&向量&矩阵&因子&数据框

    R语言基础:数组和列表 数组(array) 一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的. 数组函数是array(),语法是:array(dadta, d ...

  2. C语言基础语法

    #include <stdio.h> int main() { int age; printf("input your age"); scanf("%d&qu ...

  3. R语言基本语法

    R语言基本语法 基本数据类型 数据类型 向量 vector 矩阵 matrix 数组 array 数据框 data frame 因子 factor 列表 list 向量 单个数值(标量)没有单独的数据 ...

  4. Smali语言基础语法

    1.Smali语言基础语法-数据类型与描述符 smali中有两类数据类型:基本类型和引用类型.引用类型是指数组和对象,其它都是基础类型. 基本类型以及每种类型的描述符: Java类型 类型描述符 说明 ...

  5. R语言 基本语法

    R语言基本语法 我们将开始学习R语言编程,首先编写一个"你好,世界! 的程序. 根据需要,您可以在R语言命令提示符处编程,也可以使用R语言脚本文件编写程序. 让我们逐个体验不同之处. 命令提 ...

  6. R语言基础画图/绘图/作图

    R语言基础画图/绘图/作图 R语言基础画图 R语言免费且开源,其强大和自由的画图功能,深受广大学生和可视化工作人员喜爱,这篇文章对如何使用R语言作基本的图形,如直方图,点图,饼状图以及箱线图进行简单介 ...

  7. Python语言基础-语法特点、保留字与标识符、变量、基本数据类型、运算符、基本输入输出、Python2.X与Python3.X区别

    Python语言基础 1.Python语法特点 注释: 单行注释:# #注释单行注释分为两种情况,例:第一种#用于计算bim数值bim=weight/(height*height)第二种:bim=we ...

  8. 【计理05组01号】R 语言基础入门

    R 语言基本数据结构 首先让我们先进入 R 环境下: sudo R 赋值 R 中可以用 = 或者 <- 来进行赋值 ,<- 的快捷键是 alt + - . > a <- c(2 ...

  9. 黑马程序员——OC语言基础语法 面向对象的思想

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结)(一)基础语法 1)关键字 @interface.@implementati ...

随机推荐

  1. 基于FPGA的Sobel边缘检测的实现

    前面我们实现了使用PC端上位机串口发送图像数据到VGA显示,通过MATLAB处理的图像数据直接是灰度图像,后面我们在此基础上修改,从而实现,基于FPGA的动态图片的Sobel边缘检测.中值滤波.Can ...

  2. 标题:a++和++a的区别

    以前我也是老搞不懂a++和++a的区别, 后来看了很多资料, 终于总结出来一条规律, 小白专用! 看完这个例子就懂了: 例1:$a = 8, 求 ++a + a++ - --a + a-- + ++a ...

  3. Java 多线程(一) 基础知识与概念

    多线程Multi-Thread 基础 线程概念 线程就是程序中单独顺序的流控制. 线程本身不能运行,它只能用于程序中. 说明:线程是程序内的顺序控制流,只能使用分配给程序的资源和环境. 进程 进程:执 ...

  4. java中覆盖必须满足的约束

    子类方法的名称,参数何返回类型必须与父类一致. 子类方法不能缩小父类方法的访问权限 子类方法不能抛出比父类方法更多的异常 方法覆盖只存在于子类和父类,同一个类中方法只能被重载 父类的静态方法不能被子类 ...

  5. 团队作业8——第二次项目冲刺(Beta阶段)5.20

    1.当天站立式会议照片 会议内容: 本次会议为第二次会议 本次会议在陆大楼2楼召开,本次会议内容: ①:检查第一次任务完成情况 ②:做第二次任务的详细分工 ③:规定完成时间是在第三次任务之前 ④:遇到 ...

  6. 201521123078《Java程序设计》第七周学习总结

    1. 本周学习总结 2. 书面作业 1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 public boolean contains(Object o) { re ...

  7. 201521123049 《JAVA程序设计》 第6周学习总结

    1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 注1:关键词与内容不求多,但概念之间的联系要清晰,内容覆盖 ...

  8. 201521123068《Java程序设计》第3周学习总结

    1. 本周学习总结 点击查看大图->(http://naotu.baidu.com/file/7921c1cda46d65d08f2ef0d7a6af6651?token=3a35cbe7720 ...

  9. 201521123031 《Java程序设计》第一周学习总结

    1. 本周学习总结 a.使用notepad++和eclipse编写程序b.对jav的运行环境jdk.jre有了初步的认识c.学习如何使用码云代码库 2. 书面作业 Q1.为什么java程序可以跨平台运 ...

  10. JAVA课程设计——团队(&个人)博客

    JAVA课程设计--团队(&个人)博客 1. 团队名称.团队成员介绍(需要有照片) 团队名称:是独立小分队啦 团队成员介绍:包梦榕 网络1513 201521123068 2. 项目git地址 ...