R语言基本语法

基本数据类型

数据类型

  • 向量 vector
  • 矩阵 matrix
  • 数组 array
  • 数据框 data frame
  • 因子 factor
  • 列表 list

向量

  • 单个数值(标量)没有单独的数据类型,它只不过是向量的一种特例
  • 向量的元素必须属于某种模式(mode),可以整型(integer)、数值型(numeric)、字符型(character)、逻辑型(logical)、复数型(complex)
  • 循环补齐(recycle):在一定情况下自动延长向量
  • 筛选:提取向量子集
  • 向量化:对向量的每一个元素应用函数
  • 使用seq()创建向量
  • 使用rep()重复向量常数

矩阵

矩阵(matrix)是一种特殊的向量,包含两个附加的属性:行数和列数。所以矩阵也和向量一样,有模式的概念,例如数值型或字符型。(但反过来,向量却不能看作是只有一列或一行的矩阵。)

  • 创建矩阵
  • 矩阵运算
  • 索引
  • 增加或删除行(列)

数组

数组(array)是R里一个更一般的对象,矩阵是数组的一个特殊情形。数组可以是多维的。例如一个三维的数组可以包含行、列和层(layer),而一个矩阵只有行和列两个维度。

array(data = NA, dim = length(data), dimnames = NULL)
as.array(x, ...)
is.array(x)

列表

向量的元素要求都是同类型的,而列表(list)与向量不同,可以组合多个不同类型的对象

数据框

数据框类似矩阵,有行和列这两个维度。然而,数据框与矩阵不同的是,数据框的每一列可以是不同的模式(mode)。例如,某列可能由数字组成,另一列可能由字符串组成。

因子

因子的设计思想来源于统计学中的名义变量(nominal variables),或称之为分类变量(categorical variables)。这些变量的值本质上不是数字,而是对应为分类,例如民主党、共和党和无党派,尽管它们可以用数字编码。

算术运算

  • x + y 加法
  • x - y 减法
  • x * y 乘法
  • x / y 除法
  • x ^ y 乘幂
  • x %% y 模运算
  • x %/% y 整数除法

逻辑运算

  • x == y 判断是否相等
  • x <= y 判断是否小于等于
  • x >= y 判断是否大于等于
  • x && y 标量的逻辑“与”运算
  • x || y 标量的逻辑“或”运算
  • x & y 向量的逻辑“与”运算(x、y以及运算结果都是向量)
  • x | y 向量的逻辑“或”运算(x、y以及运算结果都是向量)
  • !x 逻辑非
  • 逻辑值TRUE和FALSE可以缩写为T和F(两者都必须是大写)。而在算术表达式它们会转换为1和0

函数

 g <- function(x) {
return(x+1)
}

函数也是对象

条件语句

if (r == 4) {
x <- 1
} else {
x <- 3
y <- 4
}

循环语句

  • for
  • while
  • repeat

repeat没有逻辑判断退出条件,必须利用break(或者类似return())的语句。当然,break也可以用在for循环中。

代码格式化工具

library(formatR)

R语言基本语法的更多相关文章

  1. R语言 基本语法

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

  2. R语言基础语法

    学习一门新的语言,率先学习输出hello world.我们就从这里开始学习. 首先打开RStudio这个IDE,然后在左边输入: > mystr <- "hello world& ...

  3. 机器学习与R语言——基本语法

    一.注释 1.选中要注释的内容,快捷键Ctrl+Shift+C(取消注释方法相同) 2.在需注释内容前输入# #需注释的内容 3.利用if语句,将判断条件设置为false则可跳过if语句中的内容,相当 ...

  4. R语言常用语法总结

    ## 1. 数据输入 ##a$b # 数据框中的变量a = 15 # 赋值a <- 15 # 赋值a = c(1,2,3,4,5) # 数组(向量)b = a[1] # 数组下标,从1开始b = ...

  5. 数据分析和R语言的那点事儿_1

    最近遇到一些程序员同学向我了解R语言,有些更是想转行做数据分析,故开始学习R或者Python之类的语言.在有其他编程语言的背景下,学习R的语法的确是一件十分简单的事.霸特,如果以为仅仅是这样的话那就图 ...

  6. R 语言 相关入门资料

    <R语言基础语法入门>: http://www.xueqing.tv/upload/april-training/day1/index.html#1

  7. R语言缺点

    R的优点:免费,开源,体积小.缺点:对大文本处理差,另外一个也在于开源,package如果出错,烦死你.当你跑比较大的simulation,对效率有要求的时候,有时还是不得不用C,这可能是10小时和1 ...

  8. 【转】R语言知识体系概览

    摘要:R语言的知识体系并非语法这么简单,如果都不了R的全貌,何谈学好R语言呢.本文将展示介绍R语言的知识体系结构,并告诉读者如何才能高效地学习R语言. 最近遇到很多的程序员都想转行到数据分析,于是就开 ...

  9. R语言均值,中位数和模式

    R语言均值,中位数和模式 在R统计分析是通过用许多内置函数来执行的. 大多数这些函数是R基本包的一部分.这些函数需要R向量作为输入参数并给出结果. 我们正在讨论本章中的函数是平均数,中位数和模式. 平 ...

随机推荐

  1. 如何:为 IIS 7.0 配置 <system.webServer> 节

    https://technet.microsoft.com/zh-cn/sysinternals/bb763179.aspx https://www.cnblogs.com/tl2f/p/501615 ...

  2. 7 -- Spring的基本用法 -- 4... 使用 Spring 容器:Spring 容器BeanFactory、ApplicationContext;ApplicationContext 的国际化支持;ApplicationContext 的事件机制;让Bean获取Spring容器;Spring容器中的Bean

    7.4 使用 Spring 容器 Spring 有两个核心接口:BeanFactory 和 ApplicationContext,其中ApplicationContext 是 BeanFactory ...

  3. HQL的执行过程

    解释器.编译器.优化器完成HQL查询语句从词法分析.语法分析.编译.优化以及查询计划(Plan)的生成.生成的查询计划存储在HDFS中,并在随后有mapreduce调用执行. 举个例子: 第一步:输入 ...

  4. 《C++ Primer Plus》14.2 私有继承 学习笔记

    C++(除了成员变量之外)还有另一种实现has-a关系的途径——私有继承.使用私有继承,基类的公有成员和保护成员都将成为派生类的私有成员.(如果使用保护继承,基类的公有成员和保护成员都将称为派生类的保 ...

  5. 互斥锁mutex

    https://blog.csdn.net/rqc112233/article/details/50015069 //g++ mute.cpp -o mute -g -lrt -lpthread #i ...

  6. IOS strong和weak的区别

    strong和weak的区别 strong表示保留它指向的堆上的内存区域不再指向这块区域了. 也就是说我强力指向了一个区域,我们不再指向它的条件只有我们指向nil或者我自己也不在内存上,没有人stro ...

  7. Docker 使用指南 (五)—— Dockerfile 详解

    版权声明:本文由田飞雨原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/97 来源:腾云阁 https://www.qclou ...

  8. JavaWeb温习之防止表单重复提交

    表单重复提交主要有以下三种情况: 1. 在网络延迟的情况下让用户有时间点击多次submit按钮导致表单重复提交 2. 表单提交后用户点击[刷新]按钮导致表单重复提交 3. 用户提交表单后,点击浏览器的 ...

  9. Ubuntu16.04安装Elasticsearch

    一.安装工作 wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - sudo apt-g ...

  10. 超级小的web手势库AlloyFinger

    针对多点触控设备编程的Web手势组件,快速帮助你的web程序增加手势支持,也不用再担心click 300ms的延迟了.拥有两个版本,无依赖的独立版和react版本.除了Dom对象,也可监听Canvas ...