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

前言

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

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

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

特殊数据结构: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 分钟前
多样本空间转录组 Harmony 整合与标签转移指南
网络·r语言·生信分析
Loge编程生活30 分钟前
打卡信奥刷题(3449)用C++实现信奥题 P10429 [蓝桥杯 2024 省 B] 拔河
开发语言·数据结构·c++·算法·青少年编程
在世修行1 小时前
从零打造 C# 工业视觉检测系统(八):Modbus RTU 协议解析与 PLC 剔除控制实战
开发语言·c#
sunburn-2 小时前
Java 队列全面详解:从入门到面试实战
java·开发语言·汇编·ide·idea
AI直播技术杂谈2 小时前
AI直播推流链路中延迟优化的通用技术方案
开发语言·人工智能·php
Dxy12393102163 小时前
python 中的 APScheduler 使用详解
开发语言·python
福如意如我心意4 小时前
java虚拟线程和Go协程的区别
开发语言
weixin_440784114 小时前
Java基础常见题
java·开发语言·python·java基础
(Charon)4 小时前
【C++】多线程死锁:产生原因、复现与解决方法
开发语言·c++·算法
跨境小彭4 小时前
Python列表去重的6种高效方法(含保留顺序+性能对比)
开发语言·python