R语言笔记(二):向量
文章目录
- 一、Data structure: vectors
- 二、Indexing vectors
- 三、Re-assign values to vector elements
- 四、Generic function for vectors
- 五、Vector of random samples from a distribution
- 六、Vector arithmetic
- 七、Recycling
- 八、Element-wise comparisons of vectors
- 九、Comparisons across whole vectors
- 十、Functions on vectors
- 十一、Vectors with NA
- 十二、Element accession with condition
- 十三、Named elements
一、Data structure: vectors
- A data structure is a grouping of related data values into an object
- A vector is a sequence of values,
all of the same type
x = c(7, 8, 10, 45)
x
## [1] 7 8 10 45is.vector(x)
## [1] TRUEy <- 1:10
y
## [1] 1 2 3 4 5 6 7 8 9 10
- The
c()function returns a vector containing all its arguments in specified order - 这里的c就是 combine 或 concatenate 的意思
x<-3与x<-c(3)可以看做是等价的1:5is shorthand forc(1,2,3,4,5), and so on
二、Indexing vectors
x[1]would be the first element,x[2]the second element, andx[-2]is a vector containing all but the second element
x = c(7, 8, 10, 45)x[2]
## [1] 8x[-2]
## [1] 7 10 45x[c(1,3)]
## [1] 7 10x[c(T,F,T,F)]
## [1] 7 10
三、Re-assign values to vector elements
x = c(7, 8, 10, 45)x[2] <- 0
x
## [1] 7 0 10 45x[c(1,3)] <- 20
x
## [1] 20 0 20 45x[-4] <- 100
x
## [1] 100 100 100 45x[c(T,F,T,F)] <- -100
x
## [1] -100 100 -100 45
四、Generic function for vectors
vector(length=n) returns an empty vector of length n; helpful for filling things up later
weekly.hours = vector(length=5)
weekly.hours
## [1] FALSE FALSE FALSE FALSE FALSEweekly.hours = vector(length=5,mode = "character")
weekly.hours
## [1] "" "" "" "" ""weekly.hours = vector(length=5,mode = "numeric")
weekly.hours
## [1] 0 0 0 0 0weekly.hours[5] = 8
weekly.hours
##[1]0 0 0 0 8
五、Vector of random samples from a distribution
Samples from normal distribution: rnorm; binomial distribution :rbinom; uniform distribution: runif
rnorm(n=5,mean=5,sd=3)
## [1] 5.402176 6.584742 5.557738 1.758993 2.974859rbinom(n=5,size = 10,prob = 0.5)
## [1] 3 2 5 4 5runif(n=5,min = 0,max = 10)
## [1] 7.2681322 2.7109939 2.9201373 0.4673917 9.4665859
六、Vector arithmetic
Arithmetic operator apply to vectors in a “component-wise” fashion
x = c(7, 8, 10, 45)
y = c(-7, -8, -10, -45)
x + y
## [1] 0 0 0 0x * y
## [1] -49 -64 -100 -2025
七、Recycling
Recycling repeat elements in shorter vector when combined with a longer one
x = c(7, 8, 10, 45)
x + c(-7,-8)
## [1] 0 0 3 37x^c(1,0,-1,0.5)
## [1] 7.000000 1.000000 0.100000 6.708204
Single numbers are vectors of length 1 for purposes of recycling:
2 * x
## [1] 14 16 20 90
八、Element-wise comparisons of vectors
x = c(7, 8, 10, 45)
x > 9
## [1] FALSE FALSE TRUE TRUE
Logical operators also work elementwise:
(x > 9) & (x < 20)
## [1] FALSE FALSE TRUE FALSE
九、Comparisons across whole vectors
To compare whole vectors, best to use identical() or all.equal():
x = c(7, 8, 10, 45)
y = -c(7, 8, 10, 45)x == -y
## [1] TRUE TRUE TRUE TRUEidentical(x, -y)
## [1] TRUEidentical(c(0.5-0.3,0.3-0.1), c(0.3-0.1,0.5-0.3))
## [1] FALSEall.equal(c(0.5-0.3,0.3-0.1), c(0.3-0.1,0.5-0.3))
## [1] TRUE
十、Functions on vectors
Many functions can take vectors as arguments:
mean(),median(),sd(),var(),max(),min(),
length(), andsum()return single numberssort()returns a new vectorsummary()gives a five-number summary of numerical vectorsany()andall()are useful on Boolean vectors
x <- 1:234summary(x)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.00 59.25 117.50 117.50 175.75 234.00any(x>100)
## [1] TRUEall(x>100)
## [1] FALSE
十一、Vectors with NA
The existence of NA will influence the output of some functions
x <- c(1:234,NA)mean(x)
## [1] NAsd(x)
## [1] NAmean(x,na.rm = T)
## [1] 117.5summary(x)
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 1.00 59.25 117.50 117.50 175.75 234.00 1
十二、Element accession with condition
Return elements with values greater than 9
x = c(7, 8, 10, 45)x[x > 9]
## [1] 10 45places = which(x > 9)
places
## [1] 3 4
十三、Named elements
We can give names to elements of vectors, and index vectors accordingly
names(x) = c("v1","v2","v3","fred")names(x)
## [1] "v1" "v2" "v3" "fred"x[c("fred","v1")]
## fred v1
## 45 7
相关文章:
R语言笔记(二):向量
文章目录 一、Data structure: vectors二、Indexing vectors三、Re-assign values to vector elements四、Generic function for vectors五、Vector of random samples from a distribution六、Vector arithmetic七、Recycling八、Element-wise comparisons of vectors九、Comp…...
信息安全工程师(71)隐私保护技术与应用
前言 隐私保护技术是指通过一系列的技术手段来保护人们的隐私不被公开泄露。随着数字化和网络化社会的发展,个人隐私的保护变得尤为重要,隐私保护技术也因此得到了广泛的应用和发展。 一、隐私保护技术概述 隐私保护技术主要包括数据加密技术、身份认证技…...
层和块学习
1.生成一个网络,其中包含一个具有256个单元和ReLU激活函数的全连接隐藏层,然后是一个具有10个隐藏单元且不带激活函数的全连接输出层。 import torch from torch import nn from torch.nn import functional as Fnet nn.Sequential(nn.Linear(20, 256)…...
Zookeeper面试整理-源码及实现细节
Zookeeper 的源码和实现细节是理解其高可用性、分布式一致性和高效性的关键。以下是 Zookeeper 的核心实现细节,涵盖其架构、关键模块、以及具体的代码实现机制。 1. Zookeeper 架构 Zookeeper 采用 Leader-Follower 架构,集群由多个节点组成。主要分为三种角色:Leader、Fol…...
岭回归的MATLAB步骤
MATLAB 实现框架,它涵盖了从数据导入到岭回归的步骤,包括计算共线性、使用 MAE、MSE、R、MAPE 进行评价,以及绘制相应的可视化图表。 1. 数据导入 首先,导入你的 Excel 文件 data.xlsx。假设前面的列是因变量(特征&a…...
智能指针(unique_ptr,shared_ptr,weak_ptr)
在实际的C开发中,我们经常会遇到诸如程序运行中突然崩溃,程序运行所用内存越来越多最终不得不重启等问题,这些问题往往都是内存资源管理不当造成的(内存泄漏) 比如: 有些内存资源已经被释放,但指向它的指针并没有改变指…...
Sql执行较慢的排查方式
SQL执行较慢的排查方式涉及多个方面,包括检查SQL语句本身、数据库配置、硬件资源等。以下是一些具体的排查步骤和优化建议: 一、检查SQL语句 启用慢查询日志: 大多数数据库管理系统(如MySQL、PostgreSQL)都支持慢查询…...
CesiumJS 案例 P6:添加图片图层、添加图片图层并覆盖指定区域
CesiumJS CesiumJS API:https://cesium.com/learn/cesiumjs/ref-doc/index.html CesiumJS 是一个开源的 JavaScript 库,它用于在网页中创建和控制 3D 地球仪(地图) 一、添加图片图层 <!DOCTYPE html> <html lang"…...
Python画笔案例-094 绘制 神奇彩条动画
1、绘制 神奇彩条动画 通过 python 的turtle 库绘制 神奇彩条动画,如下图: 2、实现代码 绘制 神奇彩条动画,以下为实现代码: """神奇彩条动画.py一个用海龟画图的图章功能配合颜色渐变和动画原理做成的动画。 """ from random import randi…...
javaScript整数反转
function _reverse(number) { // 补全代码 return (number ).split().reverse().join(); } number :首先,将数字 number 转换为字符串。在 JavaScript 中,当你将一个数字与一个字符串相加时,JavaScript 会自动将数字转换为字符串…...
Zookeeper面试整理-故障排查和调试
在使用 Zookeeper 的过程中,可能会遇到各种问题,如性能下降、节点失效、集群不可用等。为了保持系统的稳定性和高可用性,掌握 Zookeeper 的故障排查和调试方法至关重要。以下是一些常见的故障排查技巧和调试方法: 1. 日志分析 Zookeeper 的日志是最直接的调试和故障排查工具…...
PG数据库之索引详解
PostgreSQL数据库中的索引是一种用于提高查询性能的重要数据结构。通过索引,数据库可以快速定位到表中的特定行,而无需进行全表扫描。PostgreSQL支持多种索引类型,每种类型都有其特定的应用场景和性能特点。下面将详细介绍PostgreSQL中的索引…...
springboot项目测试环境构建出的依赖包比本地构建出的依赖包多
本地能够正常启动服务,但是测试环境启动报错。 上述druid是服务pom文件中之前引入的依赖包,后续由于某种原因而不需要该依赖包了,故已在pom文件中移除掉了该依赖包。 移除该依赖包之后,本地服务可正常构建和启动。 而测试环境却…...
温湿度传感器(学习笔记上)
在学习这个项目之前,我们先了解一下传感器,查阅资料可知,电路板上温湿度传感器型号是GXHTC3,是北京中科银河芯科技有限公司研发的一款芯片,采用I2C接口与ESP32-C3通信,I2C地址是0x70。 接下来我们要进行编写i2c驱动程序,首先我们复制esp-idf-v5.1.3\examples\get-started\samp…...
sv标准研读第十九章-功能覆盖率
书接上回: sv标准研读第十八章-随机化和约束 第19章 功能覆盖率 19.1 总览 -定义cover group -定义cover point -定义cross cover -cover选项 -cover系统函数和系统方法 -cover计算 19.2 概述 覆盖率广义上分为两种:功能覆盖率和工具可以自动…...
图集短视频去水印云函数开发实践——小红书
前两篇主要讲解了抖音和快手的图集短视频对去水印解析的云函数开发实践,今天说一些小红书图集解析的云函数实践。 图集短视频去水印云函数开发实践——抖音 图集短视频去水印云函数开发实践——快手 其实都是大差不差的,首先获取到小红书的分享链接&…...
Uni-App-03
登录功能开发 实现POST提交 HTTP协议规定请求消息内容类型(Content-Type)有哪些?—— 只有四种 text/plain 没有编码的普通数据 application/x-www-form-urlencoded 编码后的普通数据 multipart/form-data 请求主体中包含文件上传域 application/json 请求主体是 J…...
解决 VScode 每次打开都是上次打开的文件问题
每次使用 VScode 打开总是上次的文件,可以简单设置即可,记录一下。 VScode Visual Studio Code(简称VSCode)是一个由微软开发的免费、开源的代码编辑器。它支持多种编程语言,并提供了代码高亮、智能代码补全、代码重构…...
redis高级篇之skiplist跳表 第164节答疑
跳表查询的空间复杂度分析 比起单纯的单链表,跳表需要存储多级索引,肯定要消耗更多的存储空间。那到底需要消耗多少额外的存储空间呢? 我们来分析一下跳表的空间复杂度。 第一步:首先原始链表长度为n, 第二步:两两取首,每层索引的…...
Java 线程池:深入理解与高效应用
在 Java 并发编程中,线程池是一种非常重要的技术。它可以有效地管理和复用线程,提高系统的性能和资源利用率。本文将深入探讨 Java 线程池的概念、原理、使用方法以及最佳实践,帮助读者更好地理解和应用线程池。 一、引言 在现代软件开发中&a…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...
第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...
【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统
目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...
如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...
Mysql8 忘记密码重置,以及问题解决
1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...
安卓基础(Java 和 Gradle 版本)
1. 设置项目的 JDK 版本 方法1:通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分,设置 Gradle JDK 方法2:通过 Settings File → Settings... (或 CtrlAltS)…...
