【R语言学习笔记】 二、R语言数据结构之向量

r语言随机抽取数据框_R语言 第3章 R语言常用的数据管理(2) 缺失值分析 在R中,缺失值以符号NA(Not Available,不可用)表示。不可能出现的值(例如,被0除的结果)通过符号NaN(Not a Number,非数值)来表示。与SAS等程序不同,R中字符型和数值型数据使用的缺失值符号是相同的。R提供了一些函数,用于识别包含缺失值的观测:na.omit(x)删除含有缺失值的观测complete.cases(x)返回一个逻辑向量,不存在... 阅读详情

在这里插入图片描述

向量是R中最为基本的类型
一个向量中元素的类型必须相同,包括数值型、逻辑型、字符型、复数型。
注意:单个向量中的数据必须拥有相同的类型或模式(数值型、字符型或逻辑型)。

一、数值型向量

建立向量的方法(函数):

  • seq() 或 “:” 若向量(序列)具有较为简单的规
seq(from , to, by,  length.out, along.with)
 #生成从from到to的向量,by为步长,length.out为生成元素的长度,along.with取赋予变量的长度为元素的个数;
  • rep() 若向量(序列)具有较为复杂的规律
rep(x, times = 1, length.out = NA, each = 1)
#x:为一个向量(mode任意,包括list)
#times:数值型向量指定每个元素重复的次数,向量的长度为1时, 表示重复整个x
#length.out:输出向量的长度,简写len或者length
#each:x中的每一个元素重复的次数
  • c() 若向量(序列)没有什么规律
    c() 为应用最广泛的向量构造函数,把所有对象连接起来形成新的向量。
x=c(42,7,64,9) #把所有对象连接起来形成新的向量

例子:
在这里插入图片描述
在这里插入图片描述

二、 字符型向量

paste (..., sep = " " , collapse = NULL)函数:把其输入的自变量(一个或多个R对象)连成字符串,中间用相应的分隔符.

  • …: 表示一个或多个R可以被转化为字符型的向量
  • sep: 分隔符,默认为空格
  • collapse:可选,如果NULL,那么函数paste的返回值是自变量之间通过sep指定的分隔符连接后得到的一个字符型向量;如果为其指定了特定的值,那么自变量连接后的字符型向量会再被连接成一个字符串,之间通过collapse的值分隔。
> paste("Hello", "world")
[1] "Hello world"
#paste函数把它的自变量连成一个字符串,中间用空格分开
> paste(c("A", "B"),  1:3,  sep = "")
[1] "A1" "B2" "A3"
#连接的自变量可以是向量,这时各对应元素连接起来,长度不相同时较短的向量被重复使用
> paste(c("A", "B"), 1:3, sep = "", collapse=",")
[1] "A1,B2,A3"
#同时使用了参数seq与collapse,结果只是返回一个元素

三、逻辑型向量

直接用例子加以说明:
在这里插入图片描述
补充:逻辑运算符:
在这里插入图片描述

四、向量运算

向量运算采取广播机制
在这里插入图片描述

五、向量的赋值

创建一个含有五个数值的向量,这五个值分别为:
10, 4, 53, 6, 21

x <- c(10,4,53,6,21)
x = c(10,4,53,6,21)

赋值也可以用assign()实现:

   assign("x", c(10,4,53,6,21))

六、向量的访问

  • 中括号[]:
    正的下标 提取向量中对应的元素
    负的下标 去掉向量中对应的元素
    逻辑下标 提出向量中元素的值满足条件的元素
    注:R中向量的下标从1开始。

  • 向量中元素的名字提取子集(names函数用于设定名字)

在这里插入图片描述

七、向量的排序

在R中,和排序相关的函数主要有三个:
sort()、rank()和order()

  • sort(x)是对向量x进行排序,返回值排序后的数值向量。
  • rank(x)是求秩的函数,它的返回值是这个向量中对应元素的“排名”
rank(x, na.last = TRUE,     ties.method = c("average", "first", "random", "max", "min"))
x: rank 函数是对一维度数组、向量x 进行排序。
 na.last: rank 将数据分为确定值与缺失值两种。缺失值可按先后排在确定值之间(na.last = FALSE), 也可排在之后(na.last = TRUE), 也可保留,不参与排序(na.last = "keep").
ties.method :针对相等的值处理方法
"average" 是相同元素都取该组中的平均水平,该水平可能是个小数。
"first",相同元素先者在前后者在后。
"max" 是相同元素都取该组中最好的水平,即通常所讲的并列排序。
"min" 是相同元素都取该组中最差的水平,可以增大序列的等级差异。
"random" 是相同元素随机编排次序。
  • order(x)返回对一个或多个向量进行排序,返回排序后的元素在x向量中的下标;
order(X, na.last=TRUE, decreasing=FALSE)
返回值: X排好序的下标向量
na.last 控制空值NA排在最前还是最后,默认最后
desceasing 控制升序还是降序排列

例如:
在这里插入图片描述

八、向量常用函数

取整函数

ceiling(x)  #向上取整
floor(x)    #向下取整
trunc(x)    #截取整数部分, '向零截取'
round(x,digits=n)   #将x舍入指定位的小数(四舍五入),默认无小数
signif(x,digits=n)    #将x舍入指定位的有效数字(四舍五入),科学计数法

在这里插入图片描述

比较向量差异

intersect(x,y)      #—向量交集
union(x,y)          #—向量并集
setdiff(x,y)        #—向量差异
setequal(x,y)    #判断两个向量是否相等

判断向量各元素是否满足条件

x>5   #返回是否x中各元素满足条件
any(x>5) #x中任意元素满足条件,返回TRUE
all(x>5) #全体满足条件,返回TRUE

向量中元素出现次数

unique(x)          #—去冗余,取唯一值
duplicated(x)   #判断是否重复出现
table(x)                 #向量各元素出现的次数

其他常用函数

min(x)          #—最小值
max(x)         #—最大值
which.min()  #—最小值位置
which.max() #—最大值位置
sum(x)         #—求和
length(x)      #—求长度
mean(x)       #—均值
median(x)    #—中位数
var(x)          #—方差
sd(x)           #—标准差
which(x==1)  #—逻辑向量TRUE的位置

八、R中NA、NULL、NaN、Inf、-Inf的区别

  • NA: 缺失数据即“Missing value”,是“not
    available”的缩写;主要会在从文件或数据库读取
    数据时遇到,或者将一个向量的长度扩展会出现NA值
  • NULL:空值;一般被用在函数参数中,表示该参数没有被赋予任何值,或者某些函数返回值为Null
  • NA与NULL的差别还是非常明显的。用一个比喻来讲,NA是已经挖好了一些坑,只是里面没有萝卜而已,这就是所谓的“缺失值”。而NULL则指的是“压根连坑都没有”
  • NaN: 无意义的数即“not a number”,
    例如sqrt(-2)
  • Inf: 正无穷大
  • -Inf: 负无穷大
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

九、小结

向量生成函数:c(); rep(); seq();
逻辑运算符:&、 &&、|、||
向量的循环运算法则
向量的赋值
向量的访问
向量中元素的排序:sort()、rank()和order()
R语言取整函数:
ceiling();floor();trunc(); round(); signif();
两个对象比较:
identical();all.equal();
向量差异比较:
intersect(x,y) #交集  union(x,y)#并集
setdiff(x,y) #差异 setequal(x,y) #向量相等
R语言学习笔记——R数据结构(1)(一维数据:向量) R数据结构(1) 数据结构同质性数据结构异质性数据结构向量矩阵多维数组列表数据框 除此之外还有字符串、日期时间数据、时间序列数据等。 (一)向量(一维数据) 常用的向量为:数值向量、逻辑向量、字符向量 1.数值向量 (1)数值向量是由数值组成的向量,单个数值的长度为1的数值向量 > x<-1.5 > x [1] 1.5 > numeric(10) #可以用numeric... 阅读详情

相关推荐

R语言学习——向量矩阵

向量: 生成一个向量 x = c(1,2,3)

数海拾贝 5853

R语言中的10种向量类型

每种类型的向量都有其特定的用途和操作函数,例如数值型向量可以进行数学运算,而字符型向量则适用于文本处理。可以进行字符串操作,如连接(`paste()`)、分割(`strsplit()`)等。例如:as.Date(c("2023-01-01", "2023-01-02"))。例如:c("apple", "banana", "cherry")。例如:list(a = 1:5, b = c("a", "b"))。例如:`factor(c("A", "B", "A"))`。

m0_73310789的博客 1381

r语言学习笔记(大学毕业设计)

示例:`my_dataframe <- data.frame(name = c("John", "Alice", "Bob"), age = c(30, 25, 35), married = c(TRUE, FALSE, TRUE))`- 示例:`numeric_vector <- c(1, 2, 3, 4, 5)`、`character_vector <- c("apple", "banana", "orange")`- 向量是R中最基本的数据结构之一,它可以存储相同类型的数据。

g0277的博客 747

R语言中的取整函数

用来取整的四个函数:ceiling floor round trunc,注意四者的区别。

W_chuanqi的博客 7247

R语言学习——向量

因为想要做点什么来记录学习,所以就准备写博客,第一篇博客哦,如果有错误,还请指教,谢谢!突然想到一个问题,有很多内容都是参考申龙斌的文章,那算不算转载呢!<手动笑哭>

Shirley_CQ的博客 5570

R语言学习笔记 07 Probit、Logistic回归

glm():family=binomial(link=logit)和(link=probit)、factor、as.factor、relevel

雁山月 6116

R语言排序函数

R语言base包自带的排序函数有,三者区别为sort给出的是排序后的结果rank返回序列中元素的序号order给出排序后序列中各元素在原始序列中的位置x = c(5 , 3 , 4) sort(x) #返回3 4 5 此为5,3,4从小到大排序 rank(x) #返回3 1 2 此为5,3,4在3,4,5中的序号 order(x) #返回2 3 1 此为3,4,5在5,3,4中的序号。

微小冷的学习笔记 3733

R语言学习笔记(二)--向量,函数,集合

向量索引和subset函数 向量的名字 > height<-c(155,186,177,169) > names(height) NULL > names(height)<-c('Mary','Jason','Tom','Tina') > height Mary Jason Tom Tina 155 186 177 169 另一种类...

yichao0630的博客 2211

R语言基础-1.7-取整、向量分割、向量排序

先随机生成一组数rm(list=ls()) #设置20为种子,生成50个随机数 set.seed(20) a&lt;-runif(50) a运行结果:取整:#将所有随机数转换为整数(向上取整) ceiling(a)运行结果:分割:#将其依次分割为:5个元素向量、10元素向量、15元素向量、20元素向量 a1=a[c(1:5)] a2=a[c(6:15)] a3=a[c(16:30)] a4=a[c...

weixin_38560851的博客 8650

R语言学习②——R对象

R对象

Miss_Kirio的专栏 3837

微纳加工技术中的自对准硅化物(Silicide)工艺:关键步骤与应用场景解析

本文深入解析了微纳加工技术中的自对准硅化物(Silicide)工艺,详细介绍了其关键步骤与应用场景。从表面清洁、金属沉积到两步退火法,全面拆解工艺全流程,并探讨了不同技术节点下的工艺演进。文章还提供了实际应用中的问题排查方法和新兴技术对Silicide工艺的挑战,为芯片制造领域的工程师提供了实用参考。

weixin_30613727的博客 429

R语言笔记二:向量、向量索引及其运算

1.内置数据集 R中的内置数据集存储在datasets这个包中,这些数据一般搜集于真实的调查数据。 help(package=“datasets”):查看数据集包。 data():列出所有数据集。 直接输入数据集名字,就可以使用该数据集。这些内置数据集的名字都是默认的,我们在创建变量的时候最好不要与内置数据集的名字重叠。 常用内置数据集: ...

weixin_44384631的博客 1万+

保姆级教程:用Vue3+Element Plus快速搭建Flowable流程定义管理后台界面

本文提供了一份详细的Vue3+Element Plus教程,指导开发者快速搭建Flowable流程定义管理后台界面。从项目初始化、核心页面设计到响应式数据处理,全面覆盖前端开发关键步骤,帮助提升企业级应用开发效率。

weixin_42662293的博客 480

R语言学习——最全R语言向量的生成与命名

首先需要说明的是,在R语言中向量和列表是不一样的,向量中每一个元素的类型都是一样的,而列表反之,这里的列表与Python中的列表有几分相似。以下是分类情况: 同样类型的数据 不同类型的数据 一维 向量(vector) 列表(lists) R语言中生成常用向量主要有这么几个方法: 方法1: ...

chenwei的博客 2万+

深度学习赋能胶囊内镜:AI如何实现胃肠道出血的自动检测与分割

在计算机视觉领域,图像分类与目标检测是处理医学影像分析的核心技术。其原理在于通过卷积神经网络(CNN)自动学习图像中的多层次特征表示,实现对特定目标的识别与定位。这项技术的价值在于能够将医生从海量、重复的阅片工作中解放出来,提升诊断效率与一致性,尤其在处理如胶囊内镜产生的数万张连续图像时优势显著。其应用场景广泛覆盖了医学影像的辅助诊断,例如在消化内科,对胃肠道出血的早期发现与精准定位具有重要临床意义。本文聚焦于利用深度学习模型,如U-Net和EfficientNet,构建一个能够从复杂多变的胶囊内镜图像中,

weixin_42533910的博客 380

Oracle EBS R12 AP模块发票导入接口实战:从SQL插入到API调用的完整流程

本文详细解析了Oracle EBS R12 AP模块发票导入接口的完整流程,从SQL插入到API调用的实战技巧。涵盖接口表设计、数据验证、双通道导入机制及错误诊断,特别分享官方文档未提及的高阶优化方案,助力企业实现财务数字化转型。

weixin_33728268的博客 476

R语言笔记(二):数据结构之向量

向量(vector) R语言最基本的数据结构是向量;循环补齐、筛选、向量化是R编程的核心。 标量、向量 标量没有单独的数据结构,是只含一个元素的向量,例如数字实际上被当做一元向量,因为数据类型里没有标量;R语言中的变量类型称为模型,可以调用typeof(x)或者mode()进行查询。PS:typeof与mode本身没有什么区别,大致输出一样,个别区别请看我的另一篇博文。 添加或删除向量元素

AquaVII的博客 2632

51单片机最强模块化封装(3)

本篇文章将带大家继续封装我们的代码。这里我们会封装数码管的操作函数。我们又封装了一个模块啦,不知道现在大家有没有感受到模块化的强大呢。B站。

m0_49476241的博客 4061

R语言学习(4)——R中的数据结构之向量

上一期文章。

随缘更新 1207

基于YOLOv8深度学习架构的智能农业巡检小车系统—面向农作物与杂草实时精准识别的创新实践

本研究设计并实现了一套基于YOLOv8的智能农业巡检小车系统,解决农田中农作物与杂草的精准识别与追踪问题。系统采用改进YOLOv8-RGCSPELAN-ECA-AFPN模型,融合ECA注意力机制与AFPN多尺度特征融合结构,提升复杂环境下的检测精度。硬件以树莓派4B为核心,集成摄像头、传感器与电机模块,具备避障、循迹与自主导航功能。移动端基于Android部署NCNN推理引擎,实现模型高效移植与实时检测。

Stara-AI的博客 1425

巨正则蒙特卡洛—甲烷和二氧化碳的竞争吸附GCMC

巨正则蒙特卡洛—甲烷和二氧化碳的竞争吸附GCMC

Rockyoung 8019

R语言|数据结构(一) 向量 ———R语言入门到入土系列(二)

R语言数据结构向量创建一、直接创建二、c()函数创建 [常用的创建方式]三、seq()函数创建四、rep() 函数创建向量元素的索引下角标索引逻辑值索引名字索引which索引向量的增加c()函数的增加append()函数的使用向量元素的删除向量的排序sort() 函数的使用rev() 函数的使用 在R语言里的数据可分为向量、矩阵、数组、数据框、列表;其中我们在数据分析中常用是数据框和列表。他们主要...

铭记yu心的博客 2699

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

R语言学习笔记

组成部分:函数名、参数、函数体、返回值函数创建时可以为参数指定默认值,如果调用的时候不传递参数就会使用默认值函数传递参数可以按函数创建时的顺序来,也可以不按顺序,但需要指定参数名语法格式及实例# 语法格式# 函数体# 执行的代码块# 实例# 创建函数# 不带参数名new.function(5,3,11) # 输出:[1] 26# 带参数名new.function(a = 11, b = 5, c = 3) # 输出:[1] 58# 使用默认参数。

U02E09S91T02C的博客 977

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

R 语言学习笔记 02 数据结构

向量 c() 矩阵 matrix() 数组 array() 数据框 data.frame() 因子factor() 列表list()

雁山月 1177

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

上一篇: 【R语言学习笔记】一、R语言入门,你需要了解的基本内容
下一篇: 2019安徽省程序设计竞赛 D自驾游 题解
RealWeakCoder
博客等级 码龄7年 236粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值