[R]第二节 练习一关于数值向量

news2024/9/23 7:31:21

1.产生一个等差数列(1,3,5,7,……,99)赋值给向量x

x <- array(seq(from=1, to=99, by=2))

seq函数解析

seq(from,to,length)该函数的意思是生成一组数字,从from开始,到to结束,每两个数间的间隔是length,如:

seq(2,10,2),会生成一组数:2 4 6 8 10

seq(from,to,length.out=by)表示生成一组从from到to的数量为num的数

by = ((to - from)/(length.out - 1))

附seq的其它用法:

seq(from, to)

seq(from, to, by= )

seq(from, to, length.out= )

seq(along.with= )

seq(from)

seq(length.out= )

2.产生一个内容重复的数列(1,2,3,4,5……,1,2,3,4,5),重复次数为10,并将其赋值给向量y。

z<-rep(c(1:5),10)

rep函数解析

函数形式:rep(x, time = , length = , each = ,)

参数说明:

x:代表的是你要进行复制的对象,可以是一个向量或者是一个因子。

times:代表的是复制的次数,只能为正数。负数以及NA值都会为错误值。复制是指的是对整个向量进行复制。

each:代表的是对向量中的每个元素进行复制的次数。

length.out:代表的是最终输出向量的长度。

示例:

rep(1:4, 2)  #对向量(1,2,3,4)复制两次
[1] 1 2 3 4 1 2 3 4
rep(1:4, each = 2)   #对向量(1,2,3,4)中的每个元素复制两次
[1] 1 1 2 2 3 3 4 4
rep(1:4, each = 2, length.out = 4)  #最后输出向量的长度为4
[1] 1 1 2 2

rep(x, …):将vector x的值循环n遍

rep(1:4, 2)
[1] 1 2 3 4 1 2 3 4

…: 除了x的其他参数,可以通过…传到其他方法里

times:整个数组循环几遍

rep(1:4, each = 2, times = 3)
[1] 1 1 2 2 3 3 4 4 1 1 2 2 3 3 4 4 1 1 2 2 3 3 4 4

each:每个element循环几遍

rep(1:4, each = 2)
[1] 1 1 2 2 3 3 4 4
rep(1:4, c(2,2,2,2))
[1] 1 1 2 2 3 3 4 4
rep(1:4, c(2,1,2,1))
[1] 1 1 2 3 3 4  

length.out 输出长度为多少

rep(1:4, each = 2, len = 4)
[1] 1 1 2 2
长了会被截掉
rep(1:4, each = 2, len = 13)
[1] 1 1 2 2 3 3 4 4 1 1 2 2 3
短了会根据前面规则补上

3.向量z由x和y组成。请判断x、y、z的属性是否为向量

is.vector(z2)

4.请删除x中第个1数值

x[-1] #这里实际上并没有对x进行改变

x <- x[-1] #这样的话就修改了向量x

5.请删除y中所有的取值1。

如何删除指定数据-subset or which()

讲一下利用索引的手法删除数据集合。

数据如下

>  Data
      英雄 职业 熟练等级 使用频次 胜率
1     后裔 射手        5      856 0.64
2   孙尚香 射手        5      211 0.10
3   狄仁杰 射手        5      324 0.20
4   李元芳 射手        4       75 0.30
5   安琪拉 法师        5     2324 0.40
6     张良 法师        4      755 0.50
7 不知火舞 法师        4      644 0.60
8     貂蝉 法师        3      982 0.70
9     <NA> <NA>       NA       NA   NA

法一:互斥法

> # 提取法师职业
> subset(Data, 职业 != "法师")
    英雄 职业 熟练等级 使用频次 胜率
1   后裔 射手        5      856 0.64
2 孙尚香 射手        5      211 0.10
3 狄仁杰 射手        5      324 0.20
4 李元芳 射手        4       75 0.30
> # 提取非法师职业
> subset(Data, 职业 != "法师")
    英雄 职业 熟练等级 使用频次 胜率
1   后裔 射手        5      856 0.64
2 孙尚香 射手        5      211 0.10
3 狄仁杰 射手        5      324 0.20
4 李元芳 射手        4       75 0.30
> # 提取胜率大于等于50%
> subset(Data,  胜率 >= 0.5)
      英雄 职业 熟练等级 使用频次 胜率
1     后裔 射手        5      856 0.64
6     张良 法师        4      755 0.50
7 不知火舞 法师        4      644 0.60
8     貂蝉 法师        3      982 0.70
> # 提取胜率小于50%
> subset(Data,  胜率 < 0.5)
    英雄 职业 熟练等级 使用频次 胜率
2 孙尚香 射手        5      211  0.1
3 狄仁杰 射手        5      324  0.2
4 李元芳 射手        4       75  0.3
5 安琪拉 法师        5     2324  0.4

方案一可以解决一部分的这类问题,但是这种方案需要你的全集不会有缺失值非数这样的其他不在全集里的事件。所以有下面第二种补充方法。

法二:位置法

> n = which(Data$胜率 >= 0.5)
> Data[-n,]
    英雄 职业 熟练等级 使用频次 胜率
2 孙尚香 射手        5      211  0.1
3 狄仁杰 射手        5      324  0.2
4 李元芳 射手        4       75  0.3
5 安琪拉 法师        5     2324  0.4
9   <NA> <NA>       NA       NA   NA

可以看到这种删除只删除了胜率大于等于50%,保留了缺失值。

那么回归到我们这里的问题

如何删除向量y中所有的1

方法1👇

y<-subset(y,y != 1)

方法2👇

n <- which(y == 1)
y[-n]

6.请选择出x中第2个数值,以及>90的数值,结果存放在同一个向量中

x <- c(1:100)
y <- c(x[2],subset(x,x>90))
print(y)

7.请选择出x中分别处于偶数位置和奇数位置的数值。

> x<-c(1:100)
> max(x)
[1] 100
> jswz<-seq(from=1,to=max(x),by=2)
> oswz<-seq(from=2,to=max(x),by=2)
> jswz
 [1]  1  3  5  7  9 11 13 15 17 19 21 23 25 27 29 31 33 35
[19] 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71
[37] 73 75 77 79 81 83 85 87 89 91 93 95 97 99
> oswz
 [1]   2   4   6   8  10  12  14  16  18  20  22  24  26
[14]  28  30  32  34  36  38  40  42  44  46  48  50  52
[27]  54  56  58  60  62  64  66  68  70  72  74  76  78
[40]  80  82  84  86  88  90  92  94  96  98 100

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/12503.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ROS1学习笔记:服务中的Service和Client(ubuntu20.04)

参考B站古月居ROS入门21讲&#xff1a; 客户端Client的编程实现 服务端Server的编程实现 基于VMware Ubuntu 20.04 Noetic版本的环境 文章目录一、小乌龟例程中的服务二、创建功能包三、创建Client代码3.1 以C为例3.1.1 配置Client代码编译规则3.1.2 编译整个工作空间3.1.3 配置…

12 张图看懂 CPU 缓存一致性与 MESI 协议,真的一致吗?

本文已收录到 GitHub AndroidFamily&#xff0c;有 Android 进阶知识体系&#xff0c;欢迎 Star。技术和职场问题&#xff0c;请关注公众号 [彭旭锐] 进 Android 面试交流群。 前言 大家好&#xff0c;我是小彭。 在上一篇文章里&#xff0c;我们聊到了 CPU 的三级缓存结构…

测试工作3年还在基础岗?可能只是因为你的工作能力差

对于职场人而言&#xff0c;工作中升职加薪是每个人都梦寐以求的事情&#xff0c;但有些小伙伴表示&#xff0c;自己来到一个公司三年&#xff0c;却依旧停留在基础岗位上&#xff0c;究竟是什么原因呢&#xff1f; 其实从根本来说&#xff0c;很有可能只是因为&#xff1a;你…

Spring Boot日志配置及输出

1.日志框架有哪些&#xff1f; 常见的日志框架有log4j、logback、log4j2。 log4j这个日志框架显示是耳熟能详了&#xff0c;在Spring开发中是经常使用&#xff0c;但是据说log4j官方已经不再更新了&#xff0c;而且在性能上比logback、log4j2差了很多。 logback是由log4j创始…

WebRTC系列<四> 全面了解客户端-服务器网页游戏的WebRTC

转载&#xff1a;https://blog.brkho.com/2017/03/15/dive-into-client-server-web-games-webrtc/ 多人游戏很有趣。对于他们在单人沉浸感方面所缺乏的东西&#xff0c;在线游戏弥补了与朋友一起探索、在线结识陌生人以及与有能力的同龄人正面交锋的独特奖励体验。人们只需要看…

C# Control.DoubleBuffered 属性的使用

C# Control.DoubleBuffered 属性的使用 在我们开发的过程中,经常需要对界面进行美化,而美化的过程,一般来说就是添加图片, 让界面更加清新脱俗,更加耳目一新。 有一次有一个软件发送到客户那里试用,客户对功能是非常满意的,但是对界面的布局和颜色,就大为不满。 原来…

【Hack The Box】windows练习-- Resolute

HTB 学习笔记 【Hack The Box】windows练习-- Resolute &#x1f525;系列专栏&#xff1a;Hack The Box &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f4c6;首发时间&#xff1a;&#x1f334;2022年9月7日&#x1f334; &#x1…

uniapp picker 的使用,这玩意做的真不怎么样

uniapp picker 的使用&#xff0c;这玩意做的真不怎么样 最近要做小程序&#xff0c;考虑到需要多平台都用一套东西&#xff0c;就选用了 uniapp。 在写表单的时候用到它的 picker 组件&#xff0c;看官方文档楞是没看明白怎么用&#xff0c;试了半天没试出来&#xff0c;还是…

每日一题 —— LC. 790 多米诺和托米诺

有两种形状的瓷砖&#xff1a;一种是 2 x 1 的多米诺形&#xff0c;另一种是形如 “L” 的托米诺形。两种形状都可以旋转。 给定整数 n &#xff0c;返回可以平铺 2 x n 的面板的方法的数量。返回对 10^9 7 取模 的值。 平铺指的是每个正方形都必须有瓷砖覆盖。两个平铺不同&…

数据集成平台关于【源平台调度任务生命周期】

任务调度者 调度事件生产任务调度任务池-异步
AsynDispatcher --source 实例化适配器执行 消费任务实例化集成应用 DataHub Instance
handleSourceDispatch()依赖注入集成方案适配器调度条件检查执行适配器调度方法联动其它方案调度任务 SourceEvent 适配器调度周期 初始化…

化合物应用 | 动物实验溶剂选择

在给药时为了实现药物准确运送到动物体内、减少溶剂本身的副作用和毒性等的目标&#xff0c;需要选择合适的溶剂配方。溶剂的理化性质&#xff0c;如 pH、粘稠度、渗透压等都会对给药产生影响&#xff0c;需要慎重考虑。例如粘稠度过高可能会导致注射用针头的堵塞&#xff0c;粘…

作为新人,如何快速融入新团队?用好这8个点

大家好&#xff0c;之前在公司调岗&#xff0c;转到了新团队。 从一开始的不适应、不习惯&#xff0c;到现在的逐步习惯&#xff0c;真的就是和那句老话说的一样「有压力才会有成长」&#xff0c;下面晨光会结合在新团队学到的内容进行分享。 文章分为以下几个部分&#xff1…

通过云速搭CADT实现云原生分布式数据库PolarDB-X 2.0的部署

云速搭 CADT 是一款为上云应用提供自助式云架构管理的产品&#xff0c;显著地降低应用云上管理的难度和时间成本。本产品提供丰富的预制应用架构模板&#xff0c;同时也支持自助拖拽方式定义应用云上架构&#xff1b;支持较多阿里云服务的配置和管理。用户可以方便的对云上架构…

人力资源数字化转型,是企业高质量发展的关键

情景一 中层管理者&#xff0c;每天不是在开会&#xff0c;就是在帮下属解决问题&#xff0c;时间被搞的一团乱麻&#xff1b; 为了顺利推进项目&#xff0c;总是把自己逼成卷王&#xff0c;即使如此也没能挽救业绩下滑的命运。 情景二 由于业务能力出色被提拔带团队的新晋…

计算机网络-传输层(UDP协议报文格式,伪首部,UDP校验过程)

文章目录1. UDP协议UDP报文格式UDP校验过程1. UDP协议 UDP只在IP数据报服务之上增加了很少功能&#xff0c;即复用分用和差错检测功能。 UDP的主要特点: UDP是无连接的&#xff0c;减少开销和发送数据之前的时延。 UDP使用最大努力交付&#xff0c;即不保证可靠交付。 UDP是…

webpack5 Preload / Prefetch解决按需求加载速度

代码分离 | webpack 中文文档webpack 是一个模块打包器。它的主要目标是将 JavaScript 文件打包在一起&#xff0c;打包后的文件用于在浏览器中使用&#xff0c;但它也能够胜任转换&#xff08;transform&#xff09;、打包&#xff08;bundle&#xff09;或包裹&#xff08;pa…

vue_mixin混入

目录官网基本概念什么是Mixin混入和组件的区别混入和vuex的区别mixin的优点mixin的缺点使用mixin语法mixin局部混入-mixins全局混入-Vue.mixin方法(不推荐)mixin与组件合并逻辑[1]data数据总结举例说明[2]methods方法总结举例说明[3]生命周期函数总结举例说明问题&#xff1a;一…

Linux 进程信号

目录 一.信号 1.介绍 2.信号概念 3.查看系统定义的信号列表 4.信号处理的方式 二.信号产生前 1.用户层产生信号的方式 三.产生信号 1.通过按键产生信号 2.调用系统函数向进程发信号 &#xff08;1&#xff09;kill &#xff08;2&#xff09;raise &#xff08;…

大学生WEB前端静态网页——旅游介绍35页 响应式,

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材&#xff0c;DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 游景点介绍 | 旅游风景区 | 家乡介绍 | 等网站的设计与制作| HTML期末大学生网页设计作业&#xff0c;Web大学生网页 HTML&#xff1a;结构 CSS&…

Android 高通 Launcher3 添加桌面快捷方式

1、最近接到产测一个需求&#xff0c;需要在首页WorkSpace添加产测apk快捷方式&#xff0c;于是乎我去查看了一下Android12的源码&#xff0c;包名/build3/zm/Em_TK1080/EM_TK1080_prj/EM_TK1080_prj/qssi12/packages/apps/Launcher3/res/xml 主要修改文件 default_workspace…