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

前言

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

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

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

特殊数据结构: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个逻辑值,因此只能输出一个值,对于两个逻辑值会警告,只能选择第一元素进行比较

而&可以运算多个

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

相关推荐
星空椰2 小时前
Python 面向对象高级:继承与类定义详解
开发语言·python
白露与泡影2 小时前
2026大厂Java面试题大全!牛客网最新版
java·开发语言
凯瑟琳.奥古斯特2 小时前
高阶子查询题目精炼
开发语言·数据库·python·职场和发展·数据库开发
雪度娃娃2 小时前
转向现代C++——在意为改写的函数添加 override
开发语言·c++
喵星人工作室4 小时前
C++火影忍者1.1.2
开发语言·c++
basketball6164 小时前
C++ 中的 ptrdiff_t 详解
开发语言·c++
月亮邮递员6164 小时前
Markdown语法总结
开发语言·前端·javascript
printfLILEI4 小时前
php中的类与对象以及反序列化
linux·开发语言·php
曹牧4 小时前
C#:主线程能够捕获到子线程中的异常
开发语言·数据库·c#
代码中介商4 小时前
深入解析STL中的stack、queue与priority_queue
开发语言·c++