第二章:数据类型 第一节:变量

前言

数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或者多种特定关系的数据元素集合

数据框、矩阵、列表、数组

普通数据结构:向量、标量、列表、数组、多维数组

特殊数据结构:perl中的哈希,python中的字典、c语言中的指针等

R对象

对象:object,它是指可以复制给变量的任何事物,包括常量、数据结构、函数,甚至图形。对象都拥有某种模式,描述了此对象是如何存储的,以及某个类

R中数据结构

向量,标量,矩阵,数组、列表、数据框、因子、时间序列等

一.标量

(一)赋值规则与命名规则

(1)命名规则

首先我们先了解一下R语言的命名规则,R语言采用字母、数字、下划线和实心句点组成的变量来命名、一般由字母、或实心句点开头。同时,变量名为实心句点开头的,后面不能用数字接上

(2)赋值规则

在R语言中一共由三种赋值规则,分别是<-、<<-、=。我们一般采用<-来进行赋值

额外:=,<-的区别

作为赋值运算符,=只能用于命令的最外层,而<-则可以用在任何地方,因此,若想在调用函数的同时为变量赋值,则只能使用<-。

(二)标量的定义

标量指的是只含一个元素的向量,通常用于保存常量,标量通常有以下几种类型:数值、NA、NULL、字符串、逻辑值、因子等

1.数值

在R语言中,支持整数、浮点数类型的数值,同时,在R语言中,我们有两种输出数值的方式,其一是利用print()函数来打印数值

其二,我们可以直接输出a这个变量名称来输出其包含的数值

2.NA类型

NA常量代表无数值

我们可以使用is.na()判断某个变量是否为NA

3.NULL

NULL代表NULL对象,变量未初始化时,值为NULL,我们可以用is.null()来判断变量是否保存NULL

NULL和NA的区别

NA表示的是缺失值,通常表示某个数据值的遗失,常用于由于失误导致的数据未输入;由于某些原因导致数据无法观测;由于相关项中无合适的值,导致数据未能输入。

NULL常用于编程中,用来表示数据未定义,例如以下代码中

因为无法确定is_even的初始数值是什么,所以我们先将is_even的数值赋NULL,以免造成误判

4.字符串

R语言中没有单独的字符类型,只有字符串。我们可以用一对双引号和一对单引号生成字符串类型的标量

切记不能打成中文的双引号

5.逻辑值

(1)真假值

在R语言中,我们可以使用TRUE、R来表示真值,用FALSE、F来表示假值。同时,由于T、F又可以作为全局变量名,因此这两个值是可以被赋值的

因此这边建议在大规模工程中国避开使用T和F,以免造成混乱

(2)逻辑型数据
1.对于逻辑值,在R语言中有&(AND)、|(OR)、!(NOT)这三种逻辑值可以供使用者选择

& 全真才是真

|全假才是假

!不为或者说反转

2.同时,对于AND和OR逻辑型数据,还有&&和||两种额外的形式

&&用来运算2个逻辑值,因此只能输出一个值,对于两个逻辑值会警告,只能选择第一元素进行比较

而&可以运算多个

||和|同理,在实际操作中,我们还是用&和|更多一点

相关推荐
老秦包你会1 分钟前
Qt第三课 ----------容器类控件
开发语言·qt
凤枭香4 分钟前
Python OpenCV 傅里叶变换
开发语言·图像处理·python·opencv
ULTRA??8 分钟前
C加加中的结构化绑定(解包,折叠展开)
开发语言·c++
远望清一色24 分钟前
基于MATLAB的实现垃圾分类Matlab源码
开发语言·matlab
confiself33 分钟前
大模型系列——LLAMA-O1 复刻代码解读
java·开发语言
XiaoLeisj1 小时前
【JavaEE初阶 — 多线程】Thread类的方法&线程生命周期
java·开发语言·java-ee
杜杜的man1 小时前
【go从零单排】go中的结构体struct和method
开发语言·后端·golang
幼儿园老大*1 小时前
走进 Go 语言基础语法
开发语言·后端·学习·golang·go
半桶水专家1 小时前
go语言中package详解
开发语言·golang·xcode
llllinuuu1 小时前
Go语言结构体、方法与接口
开发语言·后端·golang